Abstract
Nota is an open-source Full Stack Web Development project. "None Of The Above" - is going to be a secure online voting system, intended to give the electorate better choices. It always adds one additional choice to anything to be voted on: If more than 50% of voters choose "None of the Above", the election is considered null and void. It is built using JavaScript. Key capabilities include: CreateElectionAdmin; CreateOrganization; CreateReferendum. The complete source code is publicly available on GitHub under the Apache License 2.0, making it a useful reference for students building a Full Stack Web Development mini project or final-year project.
1. Introduction
"None Of The Above" - is going to be a secure online voting system, intended to give the electorate better choices. It always adds one additional choice to anything to be voted on: If more than 50% of voters choose "None of the Above", the election is considered null and void.
2. Objective
"None Of The Above" - is going to be a secure online voting system, intended to give the electorate better choices. It always adds one additional choice to anything to be voted on: If more than 50% of voters choose "None of the Above", the election is considered null and void.
This project demonstrates how JavaScript can be applied to a real-world Full Stack Web Development problem.
3. Key Features / Modules
- CreateElectionAdmin
- CreateOrganization
- CreateReferendum
- RegisterVoter
- OpenPolls
- AuthenticateVoter
- CastVote
- ClosePolls
- DeleteReferendum
4. Technology Stack
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- Node.js (LTS) and npm
- A modern web browser
- VS Code or any code editor
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/Adaptech/nota.git
cd nota- unzip at ~/
- cd into extracted folder
- ./run-node.sh (start event store) or
- For the admin UI, go to http://localhost:2113
- login: admin pass: changeit (defaults)
- Find the eventstore data folder and delete everything in it; the tests won't pass if there are results from a previous run.
- Start eventstore
- Delete any existing read model data: rm -fr db
#### Run the unit testsFull setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Add role-based access control
- Deploy on a VPS or cPanel hosting with a custom domain
- Add automated tests and a CI pipeline
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- Explain the frontend, backend and database layers of this application.
- How is user authentication and authorisation implemented?
- Describe the main database tables / collections and their relationships.
- Which REST APIs or routes are exposed and what do they return?
- How would you deploy this application to production?
9. Source Code & License
This project is developed by Adaptech and published on GitHub under the Apache License 2.0. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on a Full Stack Web Development project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Full Stack Web Development Internship