/bessie

Automatically log your hours for the terrible CalTime system.

Primary LanguageJavaScriptMIT LicenseMIT

Bessie

What is this?

CalTime is an unfortunately complicated system to enter your hourly log as a UC Berkeley employee. To help alleviate this cognitive annoyance, this script is a way to automate logging in and out. Feel free to contribute and port to your liking. Raise an issue and I'll try to get back to you ask quick as I can!


How To Use

Dependencies

  • node.js
  • phantom.js
  • cron (Optional)

Step-by-Step

  1. Open Terminal.app or your favorite UNIX shell.

  2. Navigate to the directory you prefer to have the files in with cd. For example cd ~/Documents/Projects/.

  3. Clone this repo with git clone https://github.com/kcparashar/bessie.git

  4. Go into directory with cd bessie/.

  • (a) Install node packages with npm install.
  • (b) (upon first use) Open the config.json with your favorite text editor. For example nano config.json. Then replace the <USERNAME> and <PASSWORD> with your actual credentials.
  1. Run the app with npm start or node bessie.js.

Automatic Hours with cron (Optional)

If you prefer to save your self the hassle of running this script, you can choose to automate it with cron a UNIX utliity that lets you run background task on schedule.

This is best paired with a server, for which I recommend DigitalOcean (referral link with $10 credit).

To use cron you must first open a crontab. Corenominal provides a useful guide.

Then enter in the options from below or write a custom entry.

40 Hour Work Week

00 09,17 * * 1-5 node ~/<PATHTO>/bessie.js

30 Hour Work Week

00 09,15 * * 1-5 node ~/<PATHTO>/bessie.js

20 Hour Work Week

00 09,13 * * 1-5 node ~/<PATHTO>/bessie.js

10 Hour Work Week

00 09,11 * * 1-5 node ~/<PATHTO>/bessie.js


FAQ

Q. This doesn't seem to be working on my Linux Server! Help?

A. Try this fix.


That’s it! Enjoy your automatic hours entry.

Please feel free to contribute, add an issue, or email me.