This is a website built to facilitate the election of the Class Representative (CR) for the junior batch at our institution. The platform allows students to nominate candidates, vote for their preferred representative, and view the election results in real-time.
- Nomination Process: Students can nominate themselves or others for the CR position.
- Voting System: Secure and anonymous voting process.
- User Authentication: Secure login to ensure only eligible students participate in the election.
- Responsive Design: Accessible on various devices, including smartphones, tablets, and desktops.
- Frontend: HTML, CSS, JavaScript (React.js)
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: OTP
- Hosting: Render
To set up the project locally:
-
Clone the repository:
git clone https://github.com/Jagjit0306/CR-Elections.git cd CR-Elections -
Install dependencies:
npm install cd client npm install -
Set up environment variables: Create a
.envfile in the root directory and client directory and add your MongoDB connection string, and other environment variables. -
Start the development server:
npm run dev
cd client npm start -
Open your browser and navigate to
http://localhost:3000to see the website in action.
- Nomination: Students can contact the admin providing their details and a brief statement of intent.
- Voting: After nominations are closed, eligible students can log in and vote for their preferred candidate.
Contributions are welcome! If you have any suggestions or improvements, feel free to open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.