Welcome to the documentation for the Sanchalak Unified Government Scheme Eligibility System.
- Project Overview
- Architecture
- Service Overview
- Setup & Deployment
- Environment Variables
- API & Service Docs
- Scheme Canonical Models
- Contributing
Sanchalak is a modular, production-ready platform for conversational data collection, eligibility checking, and scheme management for government benefit programs. It integrates LLM-driven chat, scheme logic, and data storage, and is designed for extensibility, reliability, and real-world deployment.
- See
sanchalak_architecture.svgfor a full system overview.
- UI Frontend: Next.js/React, multilingual, voice-enabled chat.
- UI Backend: Node.js GraphQL server for audio, TTS, and chat integration.
- Schemabot: Python GraphQL API for conversational data extraction and eligibility.
- Scheme Server: Python FastAPI, Prolog, and MongoDB for scheme logic and canonical models.
- EFR Server: Python FastAPI for farmer registry and CRUD operations.
- LM Studio: LLM inference (Qwen2-57B-Instruct or compatible).
- MongoDB: Data storage for scheme server and EFR.
- Local Development: See README.md
- Docker Compose: See README.md
- Environment Variables: See docker/.env
- All sensitive keys and service URLs are managed via
.env.local(for dev) anddocker/.env(for Docker). - See the sample in docker/.env for all required variables.
- UI Backend GraphQL: src/app/new_ui/backend/README.md
- Schemabot GraphQL: src/schemabot/GRAPHQL_API.md
- Scheme Server: src/scheme_server/README.md (if available)
- EFR Server: src/efr_server/README.md (if available)
- Canonical scheme YAMLs:
src/scheme_server/outputs/ - Prolog rules:
src/scheme_server/outputs/pm-kisan/REFERENCE_prolog_system.pl
- Fork, branch, and submit PRs.
- Please keep code modular and document new features.
MIT (c) AnnamAI Team