UCSD Check In System

1 / 11
Home Page
2 / 11
Welcome Page
3 / 11
No Account and No Waiver
4 / 11
No account
5 / 11
Student ID Magswipe
6 / 11
Student ID Magswipe with Waiver
7 / 11
Manual Creation
8 / 11
No Waiver
9 / 11
Registration Thank You
10 / 11
Sign Waiver
11 / 11
QR Codes

This project was developed in part by me, my former boss David Lesser, a fellow programmer Aaryan Agrawal, and a peer designer Saul Jimenez. For my role, when this project started I was tasked with developing it by myself, Aaryan came in later and helped add a few things, while Saul redesigned the entire things and created the images you see above.

The intent of this project was to have a system that interfaced with a physical box, created by David, that utilized the RFID chip in a student ID card. The box would read in the student's UUID on the card and we would then choose what to do afterwards.

If the student had an account and already signed our waiver, it would welcome them, if one of the two account or waiver was missing, it would prompt them accordingly. All of this is being checked through a series of Google Sheets API calls. The sheet acted as our database and allowed for staff to be able to modify accounts as needed without the need for SQL or any proper database.

If the user had no account, they could use the magswipe reader we had set up, and my code would read their ID number from their card and use a script, developed by David, to pull the user's information from the UCSD database. This would then get auto-filled and our system would prompt the user to ensure the information was correct and allow for adjustments.

This whole project was developed mostly in python with the use of tkinter and figma for the GUI, Sheets as the database, C and C++ for the ESP-32 reading the ID cards, a USB magswipe, and all connected to a Raspberry Pi 400 so the users could type, and our monitor was touch screen.

I learned a great deal from this project, and also gained a major ability to design an entire system by myself, and have others come in and fix my mistakes of course. But otherwise I gained a ton of confidence as a developer and feel that I am now able to tackle any coding challenge that comes my way.

The code to all of this can be found here on GitHub: Here