This is an online voting system developed using the MERN (MongoDB, Express.js, React, Node.js) stack. The system provides a secure, efficient, and user-friendly platform for conducting elections.
- User registration and login
- Candidate registration(Admin Only)
- Voting functionality
- View election results
- User profile management
- Change password feature
- Frontend:
- React: JavaScript library for building user interfaces
- HTML, CSS: Markup and styling
- Bootstrap: Frontend framework for responsive design
- Backend:
- Node.js: JavaScript runtime environment
- Express.js: Web application framework for Node.js
- MongoDB: NoSQL database for storing user and candidate information
- Clone the repository:
git clone https://github.com/vijay628/online-voting-system.git
- Navigate to the project directory:
cd online-voting-system- Install dependencies for both frontend and backend:
cd online-voting-system-client && npm install
cd ..
cd online-voting-system-server && npm install- Set up environment variables:
- Create a .env file in the server directory.
- Define the following variables:
- MONGODB_URI: URI of your MongoDB database
- JWT_SECRET: Secret key for JWT authentication
- Run the backend server:
cd online-voting-system-server && node server.js- Run the frontend development server:
cd online-voting-system-client && npm start- Access the application in your browser at http://localhost:3000.
- Register as a new user or login with existing credentials.
- Navigate to the voting section to cast your vote.
- View election results to see the outcome.
- Update your profile information or change your password as needed.
Contributions are welcome!
Please follow these steps:
1. Fork the repository
2. Create a new branch (git checkout -b feature)
3. Make your changes
4. Commit your changes (git commit -am 'Add new feature')
5. Push to the branch (git push origin feature)
6. Create a new Pull Request
This project is licensed under the MIT License.