SaralSeva is a web-based full stack application designed to streamline the application and grievance resolution process for rural government schemes. This platform offers user-friendly features for users to apply for schemes, track their progress, and receive updates, as well as powerful tools for administrators and employees to manage scheme applications, monitor performance, and communicate effectively.
| 🌟 Stars | 🍴 Forks | 🐛 Issues | 🔔 Open PRs | 🔕 Closed PRs | 🛠️ Languages | 👥 Contributors |
SaralSeva strengthens grassroots governance to build a more inclusive and transparent Digital India:
-
🌐 24/7 digital access to services — fewer in-person visits
-
🔎 End‑to‑end tracking with unique IDs for trust and accountability
-
⚙️ Automated workflows to reduce delays and speed up delivery
-
📚 Centralised scheme information that empowers citizens
-
👥 Clear roles for staff and structured grievance redressal
SaralSeva is built to make governance accessible, transparent, and efficient for everyone:
- 🧭 One-stop platform: apply for schemes, file grievances, and track updates in one place
- 🔍 Full transparency: real-time status, clear next steps, and notifications at each stage
- ⚙️ Streamlined processing: automated workflows reduce manual delays and errors
- 🛡️ Secure by design: role-based access, auditable actions, and safe data handling
- 📱 Citizen-first experience: simple forms, PDF receipts, and multilingual-ready UI
Our mission is to make essential public services simple, transparent, and accessible for every citizen:
- 🚪 Accessibility first: 24/7 digital access to schemes and grievance services
- 🔎 Transparency by design: end-to-end tracking and clear status at each stage
- ⚙️ Efficiency at scale: automated, auditable workflows that reduce delays
- 🤝 Citizen empowerment: clear guidance, easy applications, and timely updates
- 🛡️ Reliability: secure data handling and role-based access for admins/employees
Experience SaralSeva live here:
👉
SaralSeva is built on a robust three-tier architecture, providing distinct, secure, and feature-rich portals for each user role.
- 🔐 User Registration & Authentication: Secure registration and login system with JWT and OTP verification via Twilio.
- 📝 Scheme & Grievance Applications: Users can easily apply for government schemes and submit grievances through intuitive forms.
- ⏱️ Real-time Status Tracking: Users can track the progress of their applications and grievances with a unique ID.
- 📊 Personalised Dashboard: A central place for users to view their application history and manage their profile.
- 📄 PDF Downloads: Users can download their applications as PDFs via
jsPDFfor their records.
- 📋 Task-Oriented Dashboard: A clear view of all assigned scheme applications (tickets) and grievances.
- 🛠️ Application Processing: Tools to review applications, verify documents, and update statuses.
- 📈 Performance Insights: Admins can track and visualise employee performance data.
- 🔒💬 Secure Messaging: Internal chat system for communication with the admin.
- 📊 Comprehensive Dashboard: A high-level overview of all platform activity, including application statistics and employee performance.
- 🗂️ Scheme Management: Full control to add, update, and manage all available government schemes.
- 🤖 Automated Ticket Assignment: Fair distribution of applications among employees.
- ✅ Final Approval Authority: Power to give the final approval or rejection for all applications.
- 📢 Broadcast Announcements: Create and display important updates for all citizens.
SaralSeva uses GitHub Dependabot for automated dependency updates and security vulnerability management:
- 🔒 Automatic security updates - Immediate PRs for vulnerabilities
- 📅 Weekly dependency updates - Scheduled maintenance every Monday
- 🎯 Smart grouping - Related updates bundled together to reduce PR noise
- 🏷️ Auto-labeling - Organized by module and update type
- ⚡ Zero maintenance - Works automatically in the background
📖 Learn more about our Dependabot setup
flowchart TD
A[Citizen] --> B[Apply for Scheme / File Grievance]
B --> C[Employee Review]
C -->|Verified| D[Admin Decision]
C -->|More Info Needed| B
D -->|Approved| E[Notification to Citizen]
D -->|Rejected| E
E --> F[Track Status / Download PDF]
Ensure you have the following installed/configured:
- 🟢 Node.js 18+ and npm
- 🍃 MongoDB (local or Atlas)
- 🔐 Environment variables for JWT, MongoDB URL
- 📧 Optional: Twilio (OTP), Cloudinary (media), Google OAuth Client ID
The project is a monorepo containing four separate applications:
backend,user,employee, andadmin. Each must be set up and run independently.
Ensure you have the following installed:
- Node.js and npm
- MongoDB (local or a cloud instance like MongoDB Atlas)
git clone https://github.com/eccentriccoder01/SaralSeva.git
cd SaralSevaa. Navigate to the backend directory:
cd backendb. Create a .env file and add the following environment variables with your credentials:
PORT=8000
MONGODB_URL=YOUR_MONGODB_CONNECTION_STRING
JWT_SECRET=YOUR_JWT_SECRET_KEYTwilio Credentials (I haven't provided my Twilio credentials in the deployment, since it is paid, LOL)
TWILIO_ACCOUNT_SID=YOUR_TWILIO_SID
TWILIO_AUTH_TOKEN=YOUR_TWILIO_AUTH_TOKEN
TWILIO_PHONE_NUMBER=YOUR_TWILIO_PHONE_NUMBERCloudinary Credentials
CLOUDINARY_NAME=YOUR_CLOUDINARY_CLOUD_NAME
CLOUDINARY_API_KEY=YOUR_CLOUDINARY_API_KEY
CLOUDINARY_SECRET_KEY=YOUR_CLOUDINARY_API_SECRETFirebase Credentials
FIREBASE_API_KEY=YOUR_FIREBASE_API_KEY
FIREBASE_AUTH_DOMAIN=YOUR_FIREBASE_AUTH_DOMAIN
FIREBASE_PROJECT_ID=YOUR_FIREBASE_PROJECT_ID
FIREBASE_STORAGE_BUCKET=YOUR_FIREBASE_STORAGE_BUCKET
FIREBASE_MESSAGING_SENDER_ID=YOUR_FIREBASE_MESSAGING_SENDER_ID
FIREBASE_APP_ID=YOUR_FIREBASE_APP_ID
FIREBASE_MEASUREMENT_ID=YOUR_FIREBASE_MEASUREMENT_IDGoogle Cloud Console (Google OAuth Client ID)
- Application type: Web Application
- Authorized JavaScript origins:
- http://localhost:5173 (local development)
- Any other frontend URI you use
- Redirect URIs: Not needed for this setup
GOOGLE_CLIENT_ID=YOUR_GOOGLE_OAuth_CLIENT_IDc. Install dependencies and run the server:
npm install
npm startNote: The following
.envconfiguration is only for the/user:
VITE_API_BASE_URL=http://localhost:8000 # URL of your backend
VITE_GOOGLE_CLIENT_ID=YOUR_GOOGLE_OAuth_CLIENT_ID # Must match backendRepeat the following steps for each frontend directory (
user,employee, andadmin) in a separate terminal.
a. Navigate to a frontend directory:
# In a new terminal
cd userb. Install dependencies and run the development server:
npm install
npm run dev- ⛔ Node version errors: check
node -v(need v18+) - 🔐 Missing/incorrect .env: ensure
MONGODB_URL,JWT_SECRET, optional third-party keys - 🗄️ MongoDB connection failed: allow IP in Atlas; verify user roles and connection string
- 🔌 Port in use: change ports or kill process using
netstat -ano | findstr :8000 - 🌐 CORS errors: verify frontend origin is allowed in server CORS config
Report bugs and issues or propose improvements through our GitHub repository's "Issues" tab.
-
Firstly Star(⭐) the Repository
-
Fork the Repository and create a new branch for any updates/changes/issue you are working on.
-
Start Coding and do changes.
-
Commit your changes
-
Create a Pull Request which will be reviewed and suggestions would be added to improve it.
-
Add Screenshots and updated website links to help us understand what changes is all about.
-
Check the CONTRIBUTING.md for detailed steps...
We welcome all contributions and suggestions! Whether it's a new feature, design improvement, or a bug fix - your voice matters 💜
Your insights are invaluable to us. Reach out to us team for any inquiries, feedback, or concerns.
-
Thanks to all contributors of this project
-
Special shoutout to GirlScript Summer of Code (GSSoC’25) for the amazing community and support!
-
Built with dedication, collaboration, and lots of chai
- Developed by Eccentric Explorer
- GitHub Issues: Report bugs or request features
- Email: Contact the maintainers for collaboration opportunities
Feel free to reach out with any questions or feedback!
We love contributions from the community! Whether it's a bug report, a new feature, or a documentation improvement, we appreciate your help.
How to Contribute
- Fork the repository and create a new branch for your changes.
- Make your changes and ensure everything is working as expected.
- Submit a pull request with a clear description of your changes.
Found a Bug?
- Check the issue tracker to see if the bug has already been reported.
- If not, open a new issue and provide as much detail as possible.
Have a Feature Idea?
We welcome contributions from developers of all skill levels! Here are some ways you can contribute:
- 🐛 Bug fixes - Help us identify and fix bugs
- ✨ New features - Suggest and implement new functionality
- 📚 Documentation - Improve our docs and guides
- 🎨 UI/UX improvements - Make the platform more user-friendly
- 🔧 Performance optimizations - Help make SaralSeva faster and more efficient
- 🌐 Translations - Help make SaralSeva accessible in more languages
- 📱 Mobile responsiveness - Improve the mobile experience
- 🔒 Security enhancements - Help keep user data safe
Thank you to everyone who has made SaralSeva better! 💚
Please refer to the Code of Conduct for details on contributing guidelines and community standards.
We love our contributors! If you'd like to help, please check out our CONTRIBUTE.md file for guidelines.
Thank you once again to all our contributors who has contributed to SaralSeva! Your efforts are truly appreciated. 💖👏
See the full list of contributors and their contributions on the GitHub Contributors Graph.
Feel free to open issues or discussions if you have any feedback, feature suggestions, or want to collaborate!
If you find SaralSeva project helpful, give it a star! ⭐ to support more such educational initiatives:
-
⭐ Starring the repository
-
🐦 Sharing on social media
-
💬 Telling your friends and colleagues
-
🤝 Contributing to the project
This project is licensed under the MIT License - see the License file for details.
Open an Issue | 🌟 Star on GitHub | 🚀 Live Demo
Ready to show off your coding achievements? Get started with SaralSeva today! 🚀


