Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anibalventura/election-system-web
Election manager and voting system with CRUD operations and MVC architecture.
https://github.com/anibalventura/election-system-web
bootstrap css elections expressjs handlebars html javascript mvc mvc-architecture mvc-pattern nodejs
Last synced: 29 days ago
JSON representation
Election manager and voting system with CRUD operations and MVC architecture.
- Host: GitHub
- URL: https://github.com/anibalventura/election-system-web
- Owner: anibalventura
- License: mit
- Created: 2022-08-03T00:09:43.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-08-25T00:53:57.000Z (over 2 years ago)
- Last Synced: 2024-11-12T05:27:38.846Z (3 months ago)
- Topics: bootstrap, css, elections, expressjs, handlebars, html, javascript, mvc, mvc-architecture, mvc-pattern, nodejs
- Language: Handlebars
- Homepage:
- Size: 1.2 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Election System
[![NodeJS](https://img.shields.io/static/v1?label=NodeJS&message=16.15.0&color=green)](https://nodejs.org/en/)
[![ExpressJS](https://img.shields.io/static/v1?label=ExpressJS&message=4.17.1&color=000000)](https://expressjs.com/)
[![Handlebars](https://img.shields.io/static/v1?label=Handlebars&message=5.3.2&color=9E380D)](https://handlebarsjs.com/)
[![Sequelize](https://img.shields.io/static/v1?label=Sequelize&message=6.21.3&color=blue)](https://sequelize.org/)
[![License](https://img.shields.io/static/v1?label=License&message=MIT&color=blue)](LICENSE.md)
![]()
![]()
![]()
![]()
Election manager and voting system with CRUD operations and MVC architecture.
## Features
- Home page for citizens to enter their identification document and validate to start voting.
- Register, login, logout an admin user.
- Maintenance pages to perform CRUD operations for admin users.
- Cannot update items on an active election.
- Only one election active at a time.
- Restrictions for start an election and auth routes.
- Data persistance with sequelize(mysql).### TODO
- [ ] Send email with citizen candidates selection.
- [ ] See election results in admin options.## Technologies
- HTML / Javascript / Bootstrap
- NodeJS / ExpressJS / Handlebars
- Sequelize / MySQL## Dependencies
- [bcryptjs ^2.4.3](https://www.npmjs.com/package/bcryptjs)
- [connect-flash ^0.1.1](https://www.npmjs.com/package/connect-flash)
- [express ^4.17.1](https://www.npmjs.com/package/express)
- [express-handlebars ^5.3.2](https://www.npmjs.com/package/express-handlebars)
- [multer ^1.4.5-lts.1](https://www.npmjs.com/package/multer)
- [mysql2 ^2.3.3](https://www.npmjs.com/package/mysql2)
- [nodemailer ^6.7.7](https://www.npmjs.com/package/nodemailer)
- [sequelize ^6.21.3](https://www.npmjs.com/package/sequelize)
- [uuid ^8.3.2](https://www.npmjs.com/package/uuid)### Dev Dependencies
- [nodemon ^2.0.12](https://www.npmjs.com/package/nodemon)
## Build
1. Download/clone project and run in terminal `npm install`
2. Create a MySQL DB and update `src/helpers/database.helper.js` params.
3. Run in terminal `npm start`## License
```xml
MIT LicenseCopyright (c) 2022 Anibal Ventura & Julio Peguero
```