Projects
Tapsave
About the project
Tapsave is a Student information system (SIS) that integrates NFC to handle student attendance. The project started in november of 2021 and since then we've ran 2 succesful prototype tests. There are currently 5 people working on the project, including myself.
Prototype Testing And Features
The first prototype test
The first test was ran with ~60 students and 8 teachers, this test was ran on our first version which at the time only included the NFC attendence features (students checking in, teachers having a overview of attendance) but not yet a full SIS.
The second prototype test
The second test was ran with 218 students and 25 teachers for an event/workshop week.
The organizers were able to setup 50 different workshops in our system, the students could then sign up for different
workshops they wanted to attend.
At the workshops, event supervisors were carrying our NFC tags with the ID of that workshop,
the students would then scan the tag with their phone, registering their attendance.
Features of the second prototype
Student portal :
The student portal is where the students were able choose which workshops they wanted to sign up for,
see which workshops they are signed up (calender/rooster) for and then scan their NFC tag to register their attendance.
Supervisor/Teacher portal :
The supervisor portal is where the supervisors of workshops are able to see a live feed of
the student attendence for each workshop, they were also able to register attendence manually in here incase
NFC on a student's phone didn't work.
Admin portal :
The admin portal is
where the event organizers were able to add new workshops, edit workshops, delete workshops, see how many workshops a
student attended and then grade the students based off on that.
Technologies
HTML/CSS was used to create the static layout and styling of the pages.
We used jQuery to
make the UI interactive and use AJAX to load content from the server and send requests to the server.
php was used to create REST api's for the frontend,
authenthicate users, handle frontend requests and query the database accordingly.
We needed a good ERD database for this project, and so after some researching
MySQL seemed like the obvious database paradigm.
The relational design made a lot of sense, and MySQL worked out very well for this project.