Tutor.com auto scheduler and facilitator of billing information. This Web Application allows tutors to schedule their Tutor.com working hours in a very short time, before available hours become unavailable.
- Server side: Node.js, ExpressJS, Puppeteer, SQLite.
- Client side: Handlebars, CSS and JavaScript (Vanilla).
See Download Releases for an executable release of the app (make sure to follow the instructions for browser configuration). Unzip the downloaded file and run the tutor-manager.exe
file. The program might be identified as an unrecognized app by Windows. In that case, just procceed to run it anyways.
You can also get the source code following the next steps:
- Node.js stable version (v18.20.2 or higher).
- NPM stable version.
-
Clone this repo:
git clone https://github.com/leovergaramarq/tutor-manager.git
-
Open a terminal in the cloned repository folder.
-
Install the required dependencies:
npm install
-
Start the project:
npm start
In the first run, you will be prompted for a port number for the server and puppeteer-executable-path for the web scrapping.
![](https://private-user-images.githubusercontent.com/73978713/331118984-a140fc4b-82e8-40aa-acb7-89e3c23a6868.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjYwOTQzMDcsIm5iZiI6MTcyNjA5NDAwNywicGF0aCI6Ii83Mzk3ODcxMy8zMzExMTg5ODQtYTE0MGZjNGItODJlOC00MGFhLWFjYjctODllM2MyM2E2ODY4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTExVDIyMzMyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTlmZmU4NGU2OWJmMjM2ZjcxYTM3ZWQ0YzZkMzFjOTUwOWM2Yzc4NmQ0OTVhMzNlOGFhMjVmMmI1NWZjZmMxYzQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.qPzuel6Cn9ORA3fxHWQ5YFyl9MgS24fhHo_c0qilOUE)
Once the server is running, open http://localhost:<port>
in your browser.
In the Login page, enter your Tutor.com credentials. These credentials are stored in the app's local database. You can also validate them before logging in.
![](https://private-user-images.githubusercontent.com/73978713/329339524-b3ca679d-7e75-4161-86ae-f8aca16fdb9b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjYwOTQzMDcsIm5iZiI6MTcyNjA5NDAwNywicGF0aCI6Ii83Mzk3ODcxMy8zMjkzMzk1MjQtYjNjYTY3OWQtN2U3NS00MTYxLTg2YWUtZjhhY2ExNmZkYjliLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTExVDIyMzMyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBkMTllNzMzNGY3ODhlZjZmMDBmYjRmNTdkNWM2YTAxMzJjYWI3MDI1YTdiY2VhMjQwYTY5ZjY1Y2UxNGY1MGUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.lNGiH3hlIah6NiImBg9RF7FBK-K2OORcsM19etETwPc)
Note: When logging out, your credentials are removed from the local database. In that case, the auto-scheduling feature will not apply.
In the Home page, you will find your calendar. Here you can choose the hours you wish to schedule for working, by clicking or by selecting an area. Make sure to select the hours from the desired week and save the changes.
Important: the calendar's Time Zone is the Eastern Time Zone from USA (the same way as the Tutor.com Scheduler).
![](https://private-user-images.githubusercontent.com/73978713/329340724-f709508c-6088-4f94-a871-56533da151cf.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjYwOTQzMDcsIm5iZiI6MTcyNjA5NDAwNywicGF0aCI6Ii83Mzk3ODcxMy8zMjkzNDA3MjQtZjcwOTUwOGMtNjA4OC00Zjk0LWE4NzEtNTY1MzNkYTE1MWNmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTExVDIyMzMyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWMxZjI4NzQ2ZTJjNTMyZmIyN2JhYmJjMzJjZDQyYWNlZDI5YjVhNjZhZjBkZDViNjIyMmVlYzg5NzMzNzgxNGImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.-9RaLNl-gfE10BBUMbm2gG4Oi7fY8bb75yFLcgf_uHw)
You will also find the local and Eastern time, as well as a countdown until the scheduling time deadline.
Billing information for the current month. Fields like USD price and Payment per Minute are modifiable.
![](https://private-user-images.githubusercontent.com/73978713/329342134-75a5224e-c8ea-4ae4-995b-d66a975436c2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjYwOTQzMDcsIm5iZiI6MTcyNjA5NDAwNywicGF0aCI6Ii83Mzk3ODcxMy8zMjkzNDIxMzQtNzVhNTIyNGUtYzhlYS00YWU0LTk5NWItZDY2YTk3NTQzNmMyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTExVDIyMzMyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFiYWNiZjQ5YzA4ZjdjMjNiNjZkYTliZTNlMGY4MDcxY2VmYWYwMjA4ZTBiMGYxZjUyYTBhNTc4OTU0MzMxNDMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0._x4w48ozIIveTHlVSDWgqMm6f9XN1ba3KJM17IARuI0)
Customize your preferences. A description of each setting is displayed when hovering the info icon.
Important: For user simplicity, the day and hour to schedule setup are relative to your local Time Zone.
![](https://private-user-images.githubusercontent.com/73978713/329342219-d9272435-ff7f-4202-accf-69b5176dc1b1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjYwOTQzMDcsIm5iZiI6MTcyNjA5NDAwNywicGF0aCI6Ii83Mzk3ODcxMy8zMjkzNDIyMTktZDkyNzI0MzUtZmY3Zi00MjAyLWFjY2YtNjliNTE3NmRjMWIxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTExVDIyMzMyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkyZDQ3NGE5ZGIwNmM3M2RiYjY4NzhiMzEwMmVkNGQ2OWFmYTMxMzk0NjMzYmJmYzdlN2YzMGM3MGIzNDM2OTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.-iQE9XEOX4EqDrhp7KpshLFWFU0LgD-LahRbe4PwmUw)
To bundle the project and generate an executable, open a terminal in the source code directory. Then, run the next command:
npm run dist
This process might take up to 2 minutes. It will generate a dist
folder in the project root directory. There, you will find the executable file, as well as the necesary source code folders.
Also, a build
folder will be generated, with the source code converted from ES6 to CommonJS by Babel. This folder can be deleted.