A little device to clock people in and out of the robotics lab
In the 2022 season, we used a Google Form to track who spent the most time in the robotics room, with the end goal being to quantitatively decide who the most dedicated people on the team were. This system worked, but it was tedious and a pain to manage. However, in the 2023 season, our team captain of 3 years left, and things got a little bit crazy. Due to this, we didn't even implement it that year. In an effort to track time spent, I (bakedpotatolord) created this project. Moreover, in an effort to make it easy to update and fix long after I'm gone, everything is open sourced.
This includes:
- The design files
- The code (duh)
- The wiring diagram (coming soon)
This project uses multiple technologies for the different parts of it. Here's a breakdown:
- Frontend
- Backend
- Database
- Hardware
| device | tested? |
|---|---|
| raspberry pi 4 | yes |
| raspberry pi 3 | hypothetically should work |
-
Deploy on Vercel
- fork directory to your personal repo from https://github.com/lobobellos/time-tracker
- select your fork to deploy
- select base dir as
app/ - set preset to
Nuxt - set .ENV
ADMIN_PASSWORDMONGO_URL
-
Deploy on raspi client
- Clone directory onto raspberry pi with
git clone https://github.com/lobobellos/time-tracker.git - navigate to
client/withcd client/ npm ito install depsnpm i rpi-gpio lcd global-keypress- Create .env
- Set
PROD_URLto your vercel url
- Set
- Give script execute perms with
chmod +x scripts/startTmux.sh - Edit your
/etc/rc.localfile, to look like this, replacing/absolute/path/with your actual one, which will be something like/home/pi/projects/time-tracker/on a raspberrypi
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # # By default this script does nothing. sudo /absolute/path/to/scripts/startTmux.sh && exit 0
- Clone directory onto raspberry pi with
- Anything that can run nodejs
- npm and node v18+
- Clone directory with
git clone https://github.com/lobobellos/time-tracker.git - Navigate to
app/ npm ito install deps- Create .env
ADMIN_PASSWORDMONGO_URL
npm run devto start nuxt dev server