Aapki Sarkar is a web platform that enables citizens to participate in democratic decision-making by voting on government projects. Users can view various government initiatives, cast their votes, and engage with public infrastructure proposals.
- User Authentication & Registration (OTP verification via email)
- Project Listing & Voting System
- Admin Dashboard for Project Management
- Secure Session Management
- Email Notifications for OTP Verification
- Node.js (v14 or higher)
- MongoDB (for database storage)
- Gmail account (for sending OTP emails)
git clone https://github.com/AmayVikram/AapkiSarkar.git
cd AapkiSarkar
npm install
Create a .env
file in the root directory and add the following:
EMAIL_USER=[email protected]
EMAIL_PASS=your_gmail_app_password
MONGO_URI=mongodb://localhost:27017/aapki-sarkar
SECRET_KEY=your_admin_secret_key
Note:
- For
EMAIL_PASS
, you need to generate an App Password from your Google Account. - Choose a strong
SECRET_KEY
for admin authentication.
- Install MongoDB locally if not already installed.
- Start MongoDB service:
mongod
- The database will be created automatically when you run the application.
npm start
or
node app.js
Open your browser and navigate to:
http://localhost:3000
- Go to Google Account Settings
- Enable 2-Step Verification
- Generate an App Password
- Use the generated password in
EMAIL_PASS
environment variable
- Signup - Register as an admin.
- Login - Authenticate using OTP verification.
- Dashboard - Access the admin panel.
- Add Project - Create new government projects.
- Projects - View and manage listed projects.
- Vote - Cast votes on listed projects.
- Signup - Register as a user.
- Login - Authenticate using OTP verification.
- Dashboard - Access the user panel.
- Projects - View available government projects.
- Vote - Participate in voting.
Visit Aapki Sarkar Admin Key = 123456