Skip to content

abx15/JanSankalp-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

135 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
JanSankalp AI Logo

๐Ÿ‡ฎ๐Ÿ‡ณ JanSankalp AI โ€” Smart Civic Governance Platform

AI ยท Federated Learning ยท IoT ยท Satellite ยท Real-Time

Build Docker License: MIT AI Engine


โœ… How to Run Everything (Step by Step)

Follow these steps in order. All services connect to each other via .env files.


๐Ÿ—‚๏ธ Step 1 โ€” Clone the Repository

git clone https://github.com/abx15/JanSankalp-AI.git
cd JanSankalp-AI

๐Ÿ”‘ Step 2 โ€” Setup Frontend .env.local

cp .env.example .env.local

Open .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

๐Ÿ Step 3 โ€” Setup AI Engine .env

cp ai-engine/.env.example ai-engine/.env

Open 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

๐Ÿ“ฆ Step 4 โ€” Install Dependencies

Frontend:

npm install

AI Engine:

cd ai-engine
python -m venv venv

# Windows:
venv\Scripts\activate

# Mac/Linux:
source venv/bin/activate

pip install -r requirements.txt
cd ..

๐Ÿ—„๏ธ Step 5 โ€” Setup Database

# Run migrations to create all tables
npx prisma migrate dev --name init

# Seed with test data (Admin, Officer, Citizen accounts)
npx prisma db seed

Test credentials after seeding โ†’ see LOGIN_DETAILS.md


๐Ÿš€ Step 6 โ€” Run All Services

Open 3 terminals simultaneously:

Terminal 1 โ€” Next.js Frontend:

npm run dev
# โ†’ Runs at http://localhost:3000

Terminal 2 โ€” AI Engine:

cd ai-engine
venv\Scripts\activate     # Windows
python -m app.main
# โ†’ Runs at http://localhost:10000

Terminal 3 โ€” Kafka (Optional, for real-time streaming):

docker run -d -p 9092:9092 apache/kafka:latest

๐Ÿณ Option B โ€” Run Everything with Docker (Easiest)

docker compose -f docker/docker-compose.yml up

This starts: Next.js + AI Engine + Kafka + Weaviate together.


๐Ÿ”Œ How All Services Are Connected

.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)

๐Ÿ—๏ธ Full System Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚             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                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๏ฟฝ Complete Documentation

๐Ÿ“– Explore our comprehensive documentation suite:

๐Ÿš€ Quick Start

๐Ÿ‘ฅ User Guides

๐Ÿ—๏ธ Technical Documentation

๐Ÿ“ž Support & Contact


๐Ÿ“‚ Project Structure

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

๐Ÿ› ๏ธ Full Tech Stack

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

๐Ÿ“š Documentation

๐Ÿ“– Complete documentation suite available in docs/

๐ŸŽฏ Quick Navigation

๐Ÿš€ Getting Started

๐Ÿ‘ฅ User Manuals

๐Ÿ—๏ธ Technical Documentation

๐Ÿš€ Deployment & Operations

๐Ÿ“‹ Additional Resources


โš–๏ธ License

MIT License โ€” see LICENSE


Built with โค๏ธ by Arun Kumar Bind

AI ยท Federated Learning ยท IoT ยท Satellite ยท For a Smarter India ๐Ÿ‡ฎ๐Ÿ‡ณ

About

AI-powered civic intelligence platform that enables multilingual voice-based complaint reporting, smart AI classification, and real-time issue routing for faster governance in India. ๐Ÿ‡ฎ๐Ÿ‡ณ Built with Next.js, PostgreSQL, and OpenAI โ€” fully open-source and open for contributions. ๐Ÿš€

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors