Skip to content

SaralSeva streamlines the application and grievance resolution process for rural government schemes. This platform, built using MERN, allows users to apply for schemes, track their progress, and receive updates, and offers powerful tools for administrators and employees to manage scheme applications, monitor performance, and communicate effectively

License

Notifications You must be signed in to change notification settings

eccentriccoder01/SaralSeva

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

SaralSeva Logo

SARALSEVA

🔍 Overview

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.

Thanks Banner Typing SVG

📊 Project Insights

🌟 Stars 🍴 Forks 🐛 Issues 🔔 Open PRs 🔕 Closed PRs 🛠️ Languages 👥 Contributors
Stars Forks Issues Open PRs Closed PRs Languages Count Contributors Count

🇮🇳 The Vision: Digitising Governance at the Gram Panchayat Level

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

🤔 Why SaralSeva?

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

🎯 Mission

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

🚀 Live Demo

Experience SaralSeva live here: 👉 SaralSeva

Open Source Love svg1 PRs Welcome Built with Love Visitors GitHub Contributors GitHub Last Commit GitHub Repo Size Github

📸 Screenshots

🌟 Key Features

SaralSeva is built on a robust three-tier architecture, providing distinct, secure, and feature-rich portals for each user role.

👤 Citizen Portal

  • 🔐 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 jsPDF for their records.

🧑‍💼 Employee Portal

  • 📋 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.

🛡️ Admin Portal

  • 📊 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.

🛠️ Technologies Used

Frontend

React Tailwind CSS ShadCN Vite Vercel

Backend

Node.js Express.js MongoDB JWT bcrypt Twilio Cloudinary Render

DevOps & Automation

Dependabot GitHub Actions

🤖 Automated Dependency Management

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

🧭 Project Flowchart

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]
Loading

⚙️ Installation and Setup

📋 Prerequisites

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, and admin. Each must be set up and run independently.

Prerequisites

Ensure you have the following installed:

  • Node.js and npm
  • MongoDB (local or a cloud instance like MongoDB Atlas)

1. Clone the repository:

git clone https://github.com/eccentriccoder01/SaralSeva.git
cd SaralSeva

2. Set up the Backend (/backend):

a. Navigate to the backend directory:

cd backend

b. 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_KEY

Twilio 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_NUMBER

Cloudinary Credentials

CLOUDINARY_NAME=YOUR_CLOUDINARY_CLOUD_NAME
CLOUDINARY_API_KEY=YOUR_CLOUDINARY_API_KEY
CLOUDINARY_SECRET_KEY=YOUR_CLOUDINARY_API_SECRET

Firebase 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_ID

Google Cloud Console (Google OAuth Client ID)

  1. Application type: Web Application
  2. Authorized JavaScript origins:
  3. Redirect URIs: Not needed for this setup
GOOGLE_CLIENT_ID=YOUR_GOOGLE_OAuth_CLIENT_ID

c. Install dependencies and run the server:

npm install
npm start

3. Set up the Frontends (/user, /employee, /admin):

Note: The following .env configuration 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 backend

Repeat the following steps for each frontend directory (user, employee, and admin) in a separate terminal.

a. Navigate to a frontend directory:

# In a new terminal
cd user

b. Install dependencies and run the development server:

npm install
npm run dev

🛠️ Troubleshooting

  • ⛔ 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

Issue Creation ✴

Report bugs and issues or propose improvements through our GitHub repository's "Issues" tab.

Contribution Guidelines 📑

  • 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...

Contributing is fun🧡

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.

🙏 Acknowledgments

  • 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

📞 Contact

Feel free to reach out with any questions or feedback!

🤝How to Contribute

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

  1. Fork the repository and create a new branch for your changes.
  2. Make your changes and ensure everything is working as expected.
  3. 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'd love to hear it! Open an issue to discuss your idea.

🤝 Contributing

We welcome contributions from developers of all skill levels! Here are some ways you can contribute:

Ways to 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! 💚

📜 Code of Conduct

Please refer to the Code of Conduct for details on contributing guidelines and community standards.

🤝👤 Contribution Guidelines

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. 💖👏

Contributors

Contributors

See the full list of contributors and their contributions on the GitHub Contributors Graph.

Show some Red Heart by starring this awesome repository!

💡 Suggestions & Feedback

Feel free to open issues or discussions if you have any feedback, feature suggestions, or want to collaborate!

🙌 Show Your Support

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

📄 License

This project is licensed under the MIT License - see the License file for details.

⭐ Stargazers

🍴 Forkers

Glowing Star Give us a Star and let's make magic! Glowing Star

Mirror Ball

👨‍💻 Built with ❤️ by SaralSeva Team

Open an Issue | 🌟 Star on GitHub | 🚀 Live Demo

⬆️ Back to Top

Ready to show off your coding achievements? Get started with SaralSeva today! 🚀

About

SaralSeva streamlines the application and grievance resolution process for rural government schemes. This platform, built using MERN, allows users to apply for schemes, track their progress, and receive updates, and offers powerful tools for administrators and employees to manage scheme applications, monitor performance, and communicate effectively

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 54