A comprehensive Government Services Portal designed for Kerala's Akshaya e-centres. Citizens can request government services via WhatsApp, while centre operators manage requests through a web dashboard.
| Service | URL |
|---|---|
| Akshaya Portal | https://servicesathi-portal.onrender.com |
| WhatsApp Bot | https://servicesathi-whatsapp.onrender.com |
- Natural language processing for service requests
- Multi-language support (English & Malayalam)
- Document upload via WhatsApp
- Real-time status updates
- User Dashboard: View pending/completed services with analytics
- Admin Panel: Manage centres, users, and all service requests
- Service Management: Process applications, request re-uploads, approve/reject
- Document Handling: Secure document upload and storage
- Identity Documents: Aadhaar, PAN Card, Voter ID, Passport
- Certificates: Birth, Death, Marriage, Income, Community, Nativity
- Registrations: GST, FSSAI, Property, Will
- Visa Services: Tourist, Business, Employment, Student, Medical
- Utility Services: Ration Card, Driving License, Scholarship Applications
- E-Services: KSRTC/Railway Booking, DigiLocker, Income Tax Filing
| Component | Technology |
|---|---|
| Backend | Node.js, Express.js |
| Frontend | EJS Templates, CSS |
| Database | MongoDB Atlas |
| WhatsApp Integration | Twilio API |
| Deployment | Render.com |
ServiceSathi/
├── akshaya-portal/ # Web portal for Akshaya operators
│ ├── models/ # MongoDB schemas
│ ├── routes/ # Express routes
│ ├── views/ # EJS templates
│ └── public/ # Static assets
│
├── whatsapp-bot-server/ # WhatsApp bot backend
│ ├── controllers/ # Bot logic & handlers
│ ├── config/ # Database config
│ └── routes/ # Webhook routes
│
├── scripts/ # Utility scripts
├── data/ # Service data (CSV)
├── ml-experiments/ # AI/ML experiments
└── render.yaml # Render deployment config
- Fork this repository
- Go to Render Dashboard
- Click New → Blueprint
- Connect your GitHub repo
- Render will auto-detect
render.yamland create both services
Set these in Render Dashboard for each service:
Portal Service:
| Variable | Description |
|---|---|
MONGO_URI |
MongoDB Atlas connection string |
SESSION_SECRET |
Auto-generated by Render |
WEATHER_API_KEY |
WeatherAPI.com key (optional) |
WhatsApp Service:
| Variable | Description |
|---|---|
MONGO_URI |
Same MongoDB connection string |
TWILIO_ACCOUNT_SID |
Twilio Account SID |
TWILIO_AUTH_TOKEN |
Twilio Auth Token |
TWILIO_WHATSAPP_NUMBER |
Twilio WhatsApp number |
CHAT_API_BASE |
Chat API endpoint |
DOCUMENT_SERVICE_API_BASE |
Portal URL after deployment |
- Node.js 18+
- MongoDB Atlas account
- Twilio account (for WhatsApp)
# Clone the repository
git clone https://github.com/devkiraa/ServiceSathi.git
cd ServiceSathi
# Install dependencies
npm install
# Create .env files in each service directory
# Copy values from .env.example
# Start all services
npm run dev| Service | Local URL |
|---|---|
| Akshaya Portal | http://localhost:5601 |
| WhatsApp Bot | http://localhost:5600 |
For demo purposes, you can use:
| Role | Username | Password |
|---|---|---|
| Admin | admin@demo.com | demo123 |
| Operator | operator@demo.com | demo123 |
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the ISC License.
DevKiraa - GitHub
Made with ❤️ for Kerala's Akshaya Centres