GrizzlyTime - Google Sheets based Logging System

HUGE UPDATE!!! CLICK HERE --> GrizzlyTime - Google Sheets based Logging System

GrizzlyTime
GrizzlyTime is a JavaFX application that Grizzly Robotics uses for logging
student/mentor hours. It takes roughly 5 minutes to get working on a new
system (assuming Java 8 pre-installed).

Features:

  • Automatic Student Registration
  • Cancellation of daily hours if user forgets to logout
  • Individual tracking of daily hours
  • QRCode/Barcode compatible scanner to scan student IDs (configurable)
  • Text box to manually enter student IDs

GrizzlyTime does of course have a few cons that will be addressed in the upcoming weeks.

GrizzlyTime cannot, without modifying code, do:

  • Do your homework
  • Wash your car
  • Work without internet (requires google sheets)
  • Change default fallback image (TODO)
  • Automatic updating (TODO)

GrizzlyTime is specifically setup for incredible ease of use.
All you need is a Java 8 machine (Java 11 coming later).

**Download the latest release here: **

Tutorial:

GrizzlyTime is organized into three sheets.
Sheet 1 is for overall hours, as well as any contact information for students.
Sheet 2 is for calculating average student hours and other formulas.
Sheet 3 is for storing individual dates and respective hours for students

Here’s a sample image of the main page. Some student data has been censored to respect privacy.

As always, our code is open source and we welcome any contributions you wish to make.

<3 Dalton, Team Captain of Grizzly Robotics

PS: If things happen to explode or cause thermonuclear war, I’d greatly appreciate if you create an issue on the GitHub page https://github.com/Daltz333/GrizzlyTime-JavaFX so we can create a fix pronto. :slight_smile:

3 Likes

Wow, really impressive. I love the integration with google sheets and the login UI. Thanks for sharing.

I love it!

Do you recommend running this off of one dedicated computer where students go and clock in/out, or do you have each student run it individually?

Our school doesn’t really do ID (we have them but nobody actually carries them). Is there anything from stopping us from just assigning each person a unique number? Is there any required length of the numbers?

Looks fantastic!

Just installed. The splash screen says to use birth date MM/DD/YY in place of an ID. So it looks like 6 digits is required in the code. I’m sure you could supplement with another number of student choosing.

My twin brother is on the team, so birthdays might not work too well…

Thank you!

any 6 digit number will work. just assign a number for each student
this is very good thanks for sharing!!

Any 6 digit number will work. You can absolutely use your own numeric system if you’d like.
Also my team has a dedicated login laptop for this. I personally don’t recommend every student having their own laptop for it. It’d be quite a pain to authorize the application on many laptops. Also if a student was tech savvy enough, they could de-compile the Jar, modify it so it gives them X number of hours, recompile it and the credentials will still be valid.

If you are bothered by the camera, it can also be disabled/enabled via the config.json. It’s also possible to change the fallback image from the Grizzly logo to some other image, although you will have to build the program from source and grab credentials from https://developers.google.com/sheets/api/quickstart/java.

Sorry about the lack of instructions on building it from source. Will provide more at a later date. Feature requests/UI changes are absolutely welcome.

GrizzlyTime has gotten a lot more stable!

  • 75% faster, logins are now almost instantaneous
  • 200% better looking, attracting all the robots
  • Customizable, all images can be replaced without modifying the code
  • Hands-Free Mode! Compatible with USB Scanners
  • Full Screen Mode
  • Experimental Mac Support
  • Configurable via a JSON file
  • Logs individual dates/hours sumative

GrizzlyTime can be used for monitoring student growth over years, gathering team ethnicity, sex, average age, etc. Code can be easily extendable for gathering these kinds of statistics!

Grab the latest release at https://github.com/Daltz333/GrizzlyTime-JavaFX/releases/latest

URL is now at https://github.com/ycsrobotics/GrizzlyTime/releases

Is there a view of everyone currently signed in? Could you add a feature that allows you to explicitly select which action you are doing (sign in/sign out) in the form of a toggle or radio button so that those who are absent-minded (me) don’t have to worry about whether or not they actually signed in?

2 Likes

I can definitely investigate this. In the mean time, you can actually just use the google sheet to see who’s currently signed in.

1 Like

pull request submitted for readme