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.
SaralSeva is more than just a software project; it's an initiative for social good, aimed at strengthening governance from the ground up. It directly contributes to building a more inclusive and transparent Digital India by focusing on:
- By bringing government services online, SaralSeva makes them accessible to citizens 24/7 from anywhere, reducing the need for physical travel to government offices.
- Every application and grievance is tracked digitally with a unique ID. This end-to-end visibility minimises ambiguity and holds the system accountable, building trust between the citizens and the administration.
- The platform automates the workflow of application processing, reducing processing times and ensuring that benefits reach the intended recipients faster.
- The platform serves as a central repository of information on all available government schemes. This empowers citizens with the information they need to claim their rights and improve their livelihoods.
- With dedicated portals for employees and administrators, tasks are clearly assigned and tracked. The integrated grievance redressal system ensures that citizen concerns are heard and addressed in a structured manner.
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
jsPDF
for 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.
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](https://github.com/eccentriccoder01/SaralSeva.git)
cd SaralSeva
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
c. Install dependencies and run the server:
npm install
npm start
Repeat 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 user
b. Install dependencies and run the development server:
npm install
npm run dev
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.
This project is open-source and available under the MIT License.
Developed by Eccentric Explorer
Feel free to reach out with any questions or feedback!