Skip to content

viru0909-dev/nyay-setu-working

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

59 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NYAY-SETU πŸ›οΈ

The Future of AI-Powered Digital Judiciary in India

Democratizing Justice. Empowering Citizens. Streamlining Courts.

Status AI Powered Full Stack


πŸ“‹ Table of Contents


�️ Project Vision

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.

High-Performance AI (Groq Integration)

We have migrated our core intelligence from Gemini to Groq LPU, ensuring lightning-fast responses for legal queries, document analysis, and procedural guidance.


πŸš€ Key Modules & Innovations

1. πŸ€– Vakil-Friend (AI Legal Aid)

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.

2. βš–οΈ Judicial Efficiency Flow

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.

3. 🀝 Legal Marketplace (Hire a Lawyer)

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.

πŸ› οΈ Technology Stack

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)

πŸ“‚ Project Structure

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

πŸš€ Quick Start (Local Development)

Prerequisites

  • Java 17+
  • Maven 3.6+
  • Node.js 18+ and npm
  • PostgreSQL 15+
  • Groq API Key

1. Configure Environment

Create a .env file in backend/nyaysetu-backend (use .env.example as a template).

2. Initialize Database

Create a database named nyaysetu. Flyway will automatically handle the schema creation including the new base schema.

3. Run Backend

cd backend/nyaysetu-backend
mvn spring-boot:run

4. Run Frontend

cd frontend/nyaysetu-frontend
npm install
npm run dev

πŸ“ Project Structure

NYAY-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

πŸ”§ Environment Setup

Required Environment Variables

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

Getting API Keys

Google Gemini API (Free tier available):

  1. Visit: https://aistudio.google.com/app/apikey
  2. Create new API key
  3. Add to .env as GEMINI_API_KEY
  4. Free quota: 15 requests/minute, 1500 requests/day

πŸ›‘οΈ Security & Ethics

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

🎨 Design System

Color Palette

  • Primary: Royal Blue (#2563eb)
  • Secondary: Purple (#8b5cf6)
  • Accent: Pink (#ec4899)
  • Background: Dark (#0f172a)
  • Text: White (#ffffff), Gray (#94a3b8)

Typography

  • Font: System fonts (San Francisco, Segoe UI, etc.)
  • Headings: 900 weight, gradient text
  • Body: 400-600 weight

Animations

  • Framer Motion for page transitions
  • AOS for scroll animations
  • Spring physics for smooth interactions

πŸ”’ Security Features

  • βœ… JWT token authentication
  • βœ… Password encryption (BCrypt)
  • βœ… SQL injection protection (JPA)
  • βœ… XSS protection
  • βœ… CORS configuration
  • βœ… Audit logging
  • βœ… Role-based access control

πŸ“Š Current Status

Completed βœ…

  • 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

In Progress πŸ”„

  • Full 470 Constitution articles
  • WebRTC video conferencing
  • Advanced AI features (RAG, semantic search)

Planned πŸ“‹

  • Mobile app (React Native)
  • Offline support (PWA)
  • Blockchain audit trail
  • E-signature integration
  • Analytics dashboard

🀝 Contributing

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/name
  3. Commit changes: git commit -m "feat: description"
  4. Push to branch: git push origin feature/name
  5. Create Pull Request

Commit Convention: Follow Conventional Commits


πŸ“„ License

Proprietary software. All rights reserved.



πŸ‘¨β€πŸ’» Author & Visionary

Virendra Gadekar GitHub | LinkedIn


Built with ❀️ for a more accessible Indian Judiciary.

Last Updated: December 20 2025

Releases

No releases published

Packages

No packages published