-
- 1. Main Page and Code Verification: Create a landing page that will be the only publicly accessible part of the website. Users will need to enter their unique, one-time code on this page. After successful verification, they will be redirected to the voting page.
-
- 2. Voting Panel: Design and implement the page where students can cast their votes for one of the candidates. Ensure that after a vote is cast, the page prevents further voting, and the code used is immediately invalidated in the database.
-
- 3. Database Configuration: Set up a database to store the unique voting codes and the election results. Do not store any personal student data. For testing purposes, generate a few sample codes to ensure the verification system works correctly.
-
- 4. Vote Counting: Implement a mechanism that will securely add votes to the database and assign them to the correct candidates.
-
- 5. Code Generation: Find a QR code generation API and write a script that automatically creates unique codes for each student. The script should save these codes to the database and format them for easy printing and distribution to students (e.g., as QR codes that teachers can hand out to their classes).
-
- 6. Website Styling: Design and style the website using TailwindCSS to make it clean, user-friendly, and aesthetically pleasing.
Frontend: React.js
Backend: Next.js
Type Safety: TypeScript
Styling: TailwindCSS
The system must guarantee anonymity.
We will not store any personal student data.
Voting will be managed with one-time codes distributed by teachers.
Each student is allowed to cast only one vote.
The system must be secure and reliable.
- Mateusz Kordyjak (3C)
- Oskar Syrek (3C)