sElect implements a Three-way Secure and Verifiable E-Voting system, in which voters remain anonymous, including to whom the voter elects, using these technologies.
- Paillier homomorphic encrpytion.
- Database decentralization and distribution.
- Magic
sElect uses a number of open source projects to work properly:
- Handlebars- View engine used for templating pages server-side.
- node.js - evented I/O for the backend.
- Express - fast node.js network app framework.
- jQuery - duh.
sElect requires node.js v4+ to run.
Install the dependencies and devDependencies and start the server.
$ cd FYP-Paillier-Voting\Server
$ npm i
$ npm run dev
For production environments...
$ npm install --production
$ npm start
sELect uses Nodemon + Concurrently for quick development. Make a change in your file and instantanously see your updates! In order to change ports for severs independently open webserver.js, authverifier.js, and authcount.js and modify these:
server.listen(3000, '0.0.0.0', () => {
console.log("... listening on: " + server.address().address + ":" + server.address().port)
})
- Write test cases and pen-test.
- Add process environment variable to set ports simultaneously.
- Optimize mobile views.
- Add more Todos.
- Restructure Database for voting validation.
- Add encryption server-side.
- Refactor and Complete authcount and authverifier.
- Add check tally for admin page.
- Setup Node-Mailer.
- Add password for admin.
- Database Optimizations.
- Documentation.
- Build on the shoulders of giants.
- Update to-do list.
- Apache License, Version 2.0
- Mohammed Mardini - Maintainer/Developer.
- Bassel Rawda - Developer/Contributer.
- Dr. Nassar - Developer/Reporter.