A comprehensive full-stack web application for managing and accessing government services, schemes, certificates, and grievances. The platform includes a citizen-facing web portal, administrative dashboard, and WhatsApp bot integration for multi-channel service delivery.
- 📋 Scheme Services: Browse and apply for various government schemes
- 📜 Certificate Services: Apply for certificates online (Birth, Death, Caste, Income, etc.)
- 📞 Contact Services: Access government office contact information
- 📝 Feedback & Grievances: Submit feedback and track grievance status
- 🚨 Emergency Services: Quick access to emergency contact numbers
- 💬 WhatsApp Bot: Interact with services via WhatsApp in Bengali and English
- 👨💼 Admin Dashboard: Centralized management interface
- 📊 Service Management: Create, edit, and manage all services
- 👥 Application Review: Review and process certificate applications
- 📈 Analytics: View service statistics and user engagement
- 🔐 Secure Authentication: Role-based access control with JWT
- 🎨 Modern UI: Built with React, TypeScript, and Tailwind CSS
- ⚡ Real-time Updates: Fast and responsive user experience
- 🔒 Secure: JWT authentication, input validation, and secure data handling
- 📱 Responsive Design: Mobile-first approach for all devices
- 🌐 Multi-language: Support for Bengali and English
- 🐳 Docker Support: Easy deployment with Docker containers
- Framework: React 18 with TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI, shadcn/ui
- State Management: React Query (TanStack Query)
- Routing: React Router v6
- Build Tool: Vite
- Animations: Framer Motion
- 3D Graphics: Three.js, React Three Fiber
- Runtime: Node.js
- Framework: Express.js with TypeScript
- Database: PostgreSQL
- ORM: Prisma
- Authentication: JWT (jsonwebtoken), bcryptjs
- Validation: Express Validator, Zod
- File Upload: Multer
- Platform: WhatsApp Business API
- Language: TypeScript
- Database: PostgreSQL (Prisma)
- Caching: Node Cache
- Languages: Bengali, English
- Containerization: Docker, Docker Compose
- Web Server: Nginx (reverse proxy)
- Database: PostgreSQL 15
- CI/CD Ready: Structured for deployment pipelines
Information-Service-part2/
├── frontend/ # React frontend application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page components
│ │ ├── contexts/ # React contexts (Auth)
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # Utility functions
│ │ └── types/ # TypeScript type definitions
│ └── public/ # Static assets
├── backend/ # Express.js backend API
│ ├── routes/ # API route handlers
│ │ ├── adminAuth.ts # Admin authentication
│ │ ├── schemeService.ts # Scheme management
│ │ ├── certificateService.ts
│ │ ├── contactService.ts
│ │ ├── feedback.ts
│ │ └── grievance.ts
│ ├── prisma/ # Database schema and migrations
│ │ ├── schema.prisma # Prisma schema
│ │ └── migrations/ # Database migrations
│ ├── types/ # TypeScript types
│ └── shared/ # Shared utilities
├── whatsapp-bot/ # WhatsApp bot service
│ ├── src/
│ │ ├── handlers/ # Message handlers
│ │ ├── services/ # Business logic
│ │ ├── translations/ # Multi-language support
│ │ └── utils/ # Utility functions
│ └── prisma/ # Bot database schema
├── docker-compose.yml # Docker orchestration
├── Dockerfile # Container image definition
└── nginx.conf # Nginx configuration
- Government welfare schemes
- Eligibility checking
- Application guidance
- Online/offline application modes
- Birth Certificate
- Death Certificate
- Caste Certificate
- Income Certificate
- Domicile Certificate
- Character Certificate
- Application tracking
- Document upload
- Government office directory
- Department information
- Contact details (phone, email, address)
- Office hours and locations
- Submit feedback
- File grievances
- Track complaint status
- Admin resolution workflow
- Quick access to emergency numbers
- Police, Fire, Ambulance
- Helpline numbers
See SETUP.md for detailed setup instructions for:
- Frontend setup
- Backend setup
- WhatsApp Bot setup
- Docker deployment
- SETUP.md - Complete setup guide for all services
- BACKEND_README.md - Backend API documentation
- DATABASE_SETUP.md - Database configuration guide
- WHATSAPP_BOT_INTEGRATION.md - WhatsApp bot guide
- DEPLOYMENT.md - Deployment instructions
DATABASE_URL="postgresql://user:password@localhost:5432/government_services"
JWT_SECRET="your-secret-key"
PORT=3001
NODE_ENV=developmentVITE_API_URL=http://localhost:3001DATABASE_URL="postgresql://user:password@localhost:5432/government_services"
WHATSAPP_API_URL="your-whatsapp-api-url"
WHATSAPP_API_TOKEN="your-api-token"
PORT=3002- Admin: Administrator accounts
- SchemeService: Government schemes
- CertificateService: Certificate types and applications
- CertificateApplication: User applications
- ContactService: Government office contacts
- Feedback: User feedback
- Grievance: User complaints
- WhatsAppUser: WhatsApp bot users
- WhatsAppSession: Conversation sessions
POST /api/admin/register- Register adminPOST /api/admin/login- Admin loginGET /api/admin/profile- Get admin profile
GET /api/schemes- List all schemesPOST /api/schemes- Create scheme (admin)PUT /api/schemes/:id- Update scheme (admin)DELETE /api/schemes/:id- Delete scheme (admin)
GET /api/certificates- List certificate servicesPOST /api/certificates/apply- Submit applicationGET /api/certificates/applications- List applications (admin)
GET /api/contacts- List all contactsPOST /api/contacts- Create contact (admin)
POST /api/feedback- Submit feedbackPOST /api/grievances- File grievanceGET /api/grievances/:id- Track grievance status
Built with shadcn/ui and Radix UI:
- Buttons, Cards, Dialogs
- Forms with validation
- Tables with sorting and filtering
- Toasts and notifications
- Accordions and tabs
- Dropdowns and selects
- And many more...
- JWT-based authentication
- Password hashing with bcrypt
- Input validation and sanitization
- CORS configuration
- SQL injection prevention (Prisma)
- XSS protection
- Secure file upload handling
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Start: Initiate conversation
- Schemes: Browse schemes
- Certificates: Apply for certificates
- Contact: Get office contacts
- Emergency: Emergency numbers
- Language: Switch between Bengali/English
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License.
Government Services Platform Development Team
- React and TypeScript communities
- Prisma team
- shadcn/ui for amazing components
- All contributors and testers
For support, email [email protected] or create an issue in the repository.
Made with ❤️ for better government service delivery