The Future of AI-Powered Digital Judiciary in India
Democratizing Justice. Empowering Citizens. Streamlining Courts.
- Overview
- Key Features
- Architecture
- Technology Stack
- Quick Start
- Project Structure
- Environment Setup
- API Documentation
NyaySetu is a revolutionary digital platform designed to bridge the gap between Indian citizens and the judiciary. By combining high-performance AI (Groq) with a deep understanding of Indian law, we provide a unified ecosystem for legal aid, case management, and judicial efficiency.
We have migrated our core intelligence from Gemini to Groq LPU, ensuring lightning-fast responses for legal queries, document analysis, and procedural guidance.
An intelligent legal companion that helps citizens understand their rights, verify documents, and prepare for filing.
- Actionable Advice: Guided chat flow for case filing.
- Document Pre-verification: AI-driven analysis of evidence before it reaches the court.
- Bilingual Interface: Seamless support for English and Hindi.
A modernized approach to case distribution and management.
- Unassigned Case Pool: Judges can browse and "claim" cases from a transparent pool.
- Automated Case Summary: AI generates concise summaries for judges to speed up review.
- Digital Evidence Locker: Secure storage for all case-related documents.
Connecting clients with vetted legal professionals.
- Proposal System: Clients can send hiring proposals directly to lawyers.
- Lawyer Dashboard: Professionals can manage their caseload and respond to potential clients.
- Direct Integration: Once hired, lawyers gain immediate access to the digital case file.
| Layer | Technologies |
|---|---|
| Frontend | React 18, Vite, Framer Motion, Vanilla CSS (Royal Blue Theme) |
| Backend | Spring Boot 3.2, Java 17, Spring Security (JWT) |
| Database | PostgreSQL, Flyway (Migration-based schema) |
| AI Intelligence | Groq (Llama-3-70B/8B), Azure Document Intelligence (Optional) |
| Animations | AOS, Three.js (Backgrounds) |
NYAY-SETU/
βββ backend/nyaysetu-backend/ # Spring Boot Enterprise Backend
β βββ db/migration/ # Flyway scripts (Force-fix schema support)
β βββ entity/ # AI-enhanced JPA entities
β βββ service/ # Groq/AI & Judicial business logic
βββ frontend/nyaysetu-frontend/ # Modern React Web Portal
β βββ components/ # Role-specific dashboard components
β βββ pages/ # Landing, AI Wizard, Constitution
βββ docs/ # Project documentation & Architecture- Java 17+
- Maven 3.6+
- Node.js 18+ and npm
- PostgreSQL 15+
- Groq API Key
Create a .env file in backend/nyaysetu-backend (use .env.example as a template).
Create a database named nyaysetu. Flyway will automatically handle the schema creation including the new base schema.
cd backend/nyaysetu-backend
mvn spring-boot:runcd frontend/nyaysetu-frontend
npm install
npm run devNYAY-SETU/
βββ backend/
β βββ nyaysetu-backend/ # Main Spring Boot application
β β βββ src/main/java/com/nyaysetu/backend/
β β β βββ controller/ # 14 REST controllers
β β β βββ service/ # 14 business services
β β β βββ repository/ # 16 JPA repositories
β β β βββ entity/ # 21 JPA entities
β β β βββ dto/ # 32 data transfer objects
β β β βββ config/ # Security, CORS config
β β β βββ filter/ # JWT filter
β β β βββ exception/ # Error handling
β β β βββ notification/ # Email service
β β β βββ util/ # Utilities
β β βββ src/main/resources/
β β β βββ application.properties
β β βββ pom.xml
β βββ pom.xml # Parent POM (multi-module)
β βββ uploads/ # File storage
β
βββ frontend/
β βββ nyaysetu-frontend/
β βββ src/
β β βββ components/
β β β βββ landing/ # Landing page components
β β β βββ auth/ # Login/Signup
β β β βββ case/ # Case management
β β β βββ document/ # Document viewer
β β β βββ common/ # Shared components
β β β βββ ErrorBoundary.jsx
β β β βββ LoadingSpinner.jsx
β β βββ pages/
β β β βββ Landing.jsx
β β β βββ About.jsx
β β β βββ Constitution.jsx
β β β βββ Login.jsx
β β β βββ Signup.jsx
β β β βββ dashboards/ # Role-specific dashboards
β β βββ contexts/
β β β βββ LanguageContext.jsx
β β βββ services/
β β β βββ api.js # Axios client
β β βββ store/
β β β βββ authStore.js # Zustand store
β β βββ styles/
β β β βββ global.css
β β β βββ responsive.css
β β βββ App.jsx
β β βββ main.jsx
β βββ package.json
β βββ vite.config.js
β
βββ .env # Environment variables (git-ignored)
βββ .gitignore # Git ignore rules
βββ README.md # This file
| Variable | Description | Example |
|---|---|---|
DB_USERNAME |
PostgreSQL username | nyaysetu |
DB_PASSWORD |
PostgreSQL password | your_password |
JWT_SECRET |
JWT signing key (256-bit) | your-secret-key |
GEMINI_API_KEY |
Google Gemini API key | AIza... |
CORS_ALLOWED_ORIGINS |
Allowed origins for CORS | http://localhost:5173 |
SMTP_USERNAME |
Email for notifications | [email protected] |
SMTP_PASSWORD |
Email app password | your-app-password |
Google Gemini API (Free tier available):
- Visit: https://aistudio.google.com/app/apikey
- Create new API key
- Add to
.envasGEMINI_API_KEY - Free quota: 15 requests/minute, 1500 requests/day
- Human-in-the-Loop: AI provides guidance; Judges provide judgment.
- Data Privacy: End-to-end encryption for legal documents.
- Immutable Logs: Audit trailing for every case status change.
- Primary: Royal Blue (#2563eb)
- Secondary: Purple (#8b5cf6)
- Accent: Pink (#ec4899)
- Background: Dark (#0f172a)
- Text: White (#ffffff), Gray (#94a3b8)
- Font: System fonts (San Francisco, Segoe UI, etc.)
- Headings: 900 weight, gradient text
- Body: 400-600 weight
- Framer Motion for page transitions
- AOS for scroll animations
- Spring physics for smooth interactions
- β JWT token authentication
- β Password encryption (BCrypt)
- β SQL injection protection (JPA)
- β XSS protection
- β CORS configuration
- β Audit logging
- β Role-based access control
- Monolith backend architecture
- Full authentication system
- Case management module
- Document management
- Meeting scheduling
- AI chatbot integration (Gemini)
- Modern responsive frontend
- Bilingual support (EN/HI)
- Error handling & loading states
- Interactive Constitution browser
- Full 470 Constitution articles
- WebRTC video conferencing
- Advanced AI features (RAG, semantic search)
- Mobile app (React Native)
- Offline support (PWA)
- Blockchain audit trail
- E-signature integration
- Analytics dashboard
- Fork the repository
- Create feature branch:
git checkout -b feature/name - Commit changes:
git commit -m "feat: description" - Push to branch:
git push origin feature/name - Create Pull Request
Commit Convention: Follow Conventional Commits
Proprietary software. All rights reserved.
Virendra Gadekar GitHub | LinkedIn
Built with β€οΈ for a more accessible Indian Judiciary.
Last Updated: December 20 2025