Follow these steps in order. All services connect to each other via
.envfiles.
git clone https://github.com/abx15/JanSankalp-AI.git
cd JanSankalp-AIcp .env.example .env.localOpen .env.local and fill in these required values:
| Variable | Where to Get | Purpose |
|---|---|---|
DATABASE_URL |
neon.tech โ New Project โ Connection String | Stores all complaints, users, sessions |
AUTH_SECRET |
generate-secret.vercel.app/32 | Encrypts sessions |
NEXTAUTH_SECRET |
Same as above (can be same value) | NextAuth security |
NEXTAUTH_URL |
http://localhost:3000 (dev) |
Auth redirect base |
NEXT_PUBLIC_AI_ENGINE_URL |
http://localhost:10000 |
Connects frontend โ AI engine |
OPENAI_API_KEY |
platform.openai.com/api-keys | AI suggestions |
RESEND_API_KEY |
resend.com/api-keys | OTP emails |
NEXT_PUBLIC_PUSHER_KEY + PUSHER_SECRET |
dashboard.pusher.com | Real-time updates |
IMAGEKIT_PRIVATE_KEY + IMAGEKIT_PUBLIC_KEY + IMAGEKIT_URL_ENDPOINT |
imagekit.io | Photo uploads |
cp ai-engine/.env.example ai-engine/.envOpen ai-engine/.env and fill in:
| Variable | Where to Get | Purpose |
|---|---|---|
OPENAI_API_KEY |
platform.openai.com/api-keys | Complaint classification, chat |
ASSEMBLY_AI_API_KEY |
assemblyai.com/app/account | Voice transcription |
COHERE_API_KEY |
dashboard.cohere.com | Multi-language translation |
HUGGINGFACE_API_KEY |
huggingface.co/settings/tokens | CV (image analysis) |
KAFKA_BOOTSTRAP_SERVERS |
localhost:9092 (local) or Upstash Kafka URL |
Real-time streaming |
WEAVIATE_URL |
http://localhost:8080 (local) |
Duplicate detection |
Frontend:
npm installAI Engine:
cd ai-engine
python -m venv venv
# Windows:
venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate
pip install -r requirements.txt
cd ..# Run migrations to create all tables
npx prisma migrate dev --name init
# Seed with test data (Admin, Officer, Citizen accounts)
npx prisma db seedTest credentials after seeding โ see LOGIN_DETAILS.md
Open 3 terminals simultaneously:
Terminal 1 โ Next.js Frontend:
npm run dev
# โ Runs at http://localhost:3000Terminal 2 โ AI Engine:
cd ai-engine
venv\Scripts\activate # Windows
python -m app.main
# โ Runs at http://localhost:10000Terminal 3 โ Kafka (Optional, for real-time streaming):
docker run -d -p 9092:9092 apache/kafka:latestdocker compose -f docker/docker-compose.yml upThis starts: Next.js + AI Engine + Kafka + Weaviate together.
.env.local .env (ai-engine)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
NEXT_PUBLIC_AI_ENGINE_URL โโโถ FastAPI (Port 10000)
DATABASE_URL โโโถ PostgreSQL (Prisma ORM)
PUSHER keys โโโถ Real-time WebSockets
IMAGEKIT keys โโโถ Photo upload & storage
OPENAI_API_KEY โโโถ AI Suggestions API
RESEND_API_KEY โโโถ OTP Email delivery
โ
KAFKA_BOOTSTRAP_SERVERS
(sensor_telemetry, vision_event topics)
WEAVIATE_URL
(vector search for duplicates)
HUGGINGFACE_API_KEY
(CV models: pothole, garbage)
ASSEMBLY_AI_API_KEY
(voice โ text transcription)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ JANSANKALP AI โ COMPLETE CONNECTED SYSTEM โ
โ โ
โ Citizens / Officers / Admins โ
โ โ โ
โ โผ โ
โ Next.js Frontend (:3000) โโโ .env.local โ
โ โโโ /dashboard (Admin) โ
โ โ โโโ FLDashboard (Federated AI) โ
โ โ โโโ InfraDashboard (IoT + Satellite) โ
โ โโโ /dashboard/officer โ
โ โโโ /api/* (Next.js API Routes) โ
โ โ PostgreSQL via Prisma โ
โ โ Pusher WebSockets โ
โ โ ImageKit Uploads โ
โ โ โ
โ โผ HTTP / REST โ
โ FastAPI AI Engine (:10000) โโโ ai-engine/.env โ
โ โโโ /process-workflow (SpamโClassifyโRouteโETA) โ
โ โโโ /federated/train-round (FL Training) โ
โ โโโ /analytics/federated (FL Dashboard data) โ
โ โโโ /iot/ingest (Sensor telemetry) โ
โ โโโ /vision/analyze (CV: Satellite/CCTV) โ
โ โโโ /analytics/infrastructure (Risk heatmap) โ
โ โ โ
โ โผ Apache Kafka โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Topics: complaint_submitted | sensor_telemetry โ โ
โ โ vision_event | system_alert โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โผ โ
โ stream_processor.py โ Flood Risk โ Power Alerts โ Auto-Escalate โ
โ โ
โ Data Layer โ
โ โโโ PostgreSQL (NeonDB) โ users, complaints, sessions โ
โ โโโ Weaviate Vector DB โ semantic duplicate detection โ
โ โโโ Sensor buffer โ IoT time-series data โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Explore our comprehensive documentation suite:
- ๐ Setup Guide - Complete installation & configuration
- ๐ง Environment Setup - Environment variables & configuration
- ๐ณ Docker Setup - One-command deployment
- ๐ค Citizen Guide - Complete citizen user manual
- ๐ฎ Officer Guide - Officer training & operations
- ๐จโ๐ผ Admin Guide - System administration guide
- ๐ System Architecture - Complete technical architecture
- ๐ IoT Integration - Sensors & streaming setup
- ๐ API Documentation - Complete REST API reference
- ๐ Contact Center - Complete support directory
- ๐ Project Overview - Project vision & features
- ๐ง Troubleshooting - Common issues & solutions
JanSankalp AI/
โโโ ๐ docs/ โ ๐ COMPLETE DOCUMENTATION
โ โโโ README.md โ Documentation hub
โ โโโ INDEX.md โ Complete documentation index
โ โโโ guides/ โ User guides & setup
โ โ โโโ setup.md โ Installation guide
โ โ โโโ citizen-guide.md โ Citizen manual
โ โ โโโ officer-guide.md โ Officer manual
โ โ โโโ admin-guide.md โ Admin manual
โ โโโ api/ โ API documentation
โ โโโ architecture/ โ System architecture
โ โ โโโ system-overview.md โ Technical architecture
โ โ โโโ database-schema.md โ Database design
โ โ โโโ security-guidelines.md โ Security architecture
โ โโโ deployment/ โ Deployment guides
โ โ โโโ complete-guide.md โ Production deployment
โ โโโ contact.md โ Support directory
โ โโโ archive/ โ Legacy docs
โโโ ๐ฑ src/ โ Next.js Frontend
โโโ ๐ค ai-engine/ โ FastAPI AI Backend
โโโ ๐๏ธ prisma/ โ Database Schema
โโโ ๐ณ docker/ โ Docker Configuration
โโโ ๐ public/ โ Static Assets
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | Next.js 14, TypeScript, Tailwind CSS | UI, routing, API handlers |
| AI Engine | FastAPI (Python), PyTorch | ML models, LLM API, FL coordinator |
| Database | PostgreSQL (NeonDB), Prisma ORM | Persistent data |
| Vector DB | Weaviate | Semantic duplicate detection |
| Streaming | Apache Kafka (aiokafka) |
Real-time sensor + complaint pipeline |
| Real-time | Pusher WebSockets | Live dashboard updates |
| Auth | NextAuth.js v5, OTP via Resend | Secure role-based login |
| Storage | ImageKit | Complaint photo uploads |
| Federated ML | PyTorch + Differential Privacy | Privacy-safe district AI training |
| CV / IoT | OpenCV, Pillow, HuggingFace | Pothole/flood/garbage detection |
| Deployment | Docker, Render.com, Vercel | Production ready |
๐ Complete documentation suite available in docs/
- ๐ Documentation Index - ๐ Complete documentation hub (All links in one place)
- ๐ Quick Start - Step-by-step installation
- ๐ฅ User Manuals - Citizen, Officer & Admin guides
- ๐ API Reference - Complete REST API documentation
- ๐ Setup Guide - Step-by-step installation
- ๐ง Environment Setup - Configuration guide
- ๐ Contact & Support - Help and support center
- ๐ค Citizen Guide - How to file and track complaints
- ๐ฎ Officer Guide - Complaint management and resolution
- ๐จโ๐ผ Admin Guide - System administration
- ๐ System Architecture - Complete technical overview
- ๏ฟฝ๏ธ Database Schema - Database design & relationships
- ๏ฟฝ๏ฟฝ API Reference - REST API documentation
- ๐ IoT Architecture - Sensor integration
- ๐ Security Guidelines - Security architecture
- ๐ Complete Deployment Guide - Production deployment
- ๐ณ Docker Setup - Docker deployment
- ๐ Cloud Deployment - Cloud platforms
- ๐ Project Overview - Vision and features
- ๐ง Troubleshooting - Common issues
- ๏ฟฝ Contact Center - Complete support directory
MIT License โ see LICENSE
Built with โค๏ธ by Arun Kumar Bind
AI ยท Federated Learning ยท IoT ยท Satellite ยท For a Smarter India ๐ฎ๐ณ
