A multi-service crime reporting platform enabling citizens to file FIRs and missing person reports, with authority management and admin analytics.
| Service | Technology | Port |
|---|---|---|
| Auth Service | Spring Boot 3 | 8081 |
| Backend Monolith | Spring Boot 3 | 8080 |
| Email Service | Node.js/Express | 3000 |
| Logging Service | .NET 8 | 5000 |
| Frontend | React + Vite | 3001 |
| Database | MySQL 8 | 3306 |
- JDK 17+
- Node.js 18+
- .NET 8 SDK
- MySQL 8+
- Docker (optional)
mysql -u root -p < docs/schema.sql1. Auth Service (Port 8081)
cd auth-service
./mvnw spring-boot:run2. Backend Monolith (Port 8080)
cd backend-monolith
./mvnw spring-boot:run3. Email Service (Port 3000)
cd email-service
npm install
npm start4. Logging Service (Port 5000)
cd logging-service
dotnet run5. Frontend (Port 3001)
cd frontend
npm install
npm run devdocker-compose up -d| Role | Password | |
|---|---|---|
| Admin | [email protected] | Admin@123 |
| Authority | [email protected] | Auth@123 |
| User | [email protected] | User@123 |
POST /api/auth/register/user- Register citizenPOST /api/auth/login- Login (all roles)
POST /api/user/fir- File FIRGET /api/user/firs- Get my FIRsPOST /api/user/missing- File missing person report
GET /api/authority/firs- Get assigned FIRsPUT /api/authority/fir/{id}/update- Update FIR status
GET /api/admin/analytics- Get analyticsPUT /api/admin/fir/{id}/reassign/{authorityId}- Reassign FIR
Copy .env.example files and update:
- Database credentials
- JWT secret
- Mailtrap credentials (for email service)