AI-Powered Smart City Incident Reporting & Environmental Monitoring Platform
Backend built with ASP.NET Core Web API
RAQIB is an AI-powered smart city platform that enables citizens to report infrastructure and environmental issues through images and GPS locations.
The backend serves as the core of the platform by managing authentication, authorization, report processing, AI integration, real-time communication, notifications, analytics, and administrative operations.
The system is designed using Clean Architecture principles to ensure scalability, maintainability, and separation of concerns.
- Email Sign Up
- Secure Login
- JWT Authentication
- Google OAuth Authentication
- OTP Email Verification
- Forgot Password
- Password Reset
- Role-Based Authorization (Citizen / Admin)
- Create Reports
- Upload Images
- GPS Location Support
- Track Report Status
- View Report History
- Interactive Map
- AI Chat History
- Real-Time Notifications
- Email Notifications
- Manage Reports
- Update Report Status
- Approve / Reject Reports
- Severity-Based Prioritization
- User Management
- Interactive Dashboard
- Charts & Statistics
- Governorate & Date Filtering
- PDF Analytics Reports
The backend communicates with a dedicated FastAPI AI service responsible for:
- Image Classification
- Confidence Score Prediction
- Severity Assessment
- Arabic AI Assistant Integration
The backend stores AI results and connects them with citizen reports.
The system provides real-time communication using:
- SignalR
- Email Notifications
- Live Report Status Updates
Whenever a report status changes, the citizen instantly receives:
- In-App Notification
- Email Notification
Administrators can access:
- Dashboard Statistics
- Reports by Governorate
- Reports by Category
- Severity Distribution
- Date Filtering
- PDF Report Generation
The current version supports six categories:
- Damaged Road
- Normal Road
- Damaged Home
- Normal Building
- Big Trash
- Small Trash
Future versions can easily support additional categories.
The backend follows Clean Architecture.
Presentation Layer
│
Controllers
│
Application Layer
│
Business Logic
│
Infrastructure Layer
│
Repositories
│
Entity Framework Core
│
SQL Server
- ASP.NET Core Web API
- C#
- Entity Framework Core
- SQL Server
- AutoMapper
- FluentValidation
- JWT
- Google OAuth
- OTP Email Verification
- FastAPI
- REST API
- SignalR
- MailKit
- Swagger / OpenAPI
- QuestPDF
RAQIB_API
│
├── RAQIB.API
├── RAQIB.Application
├── RAQIB.Core
├── RAQIB.Infrastructure
│
├── Controllers
├── Services
├── Repositories
├── DTOs
├── Entities
├── Interfaces
├── SignalR
├── Middleware
└── Helpers
git clone https://github.com/RAQIB26/your-backend-repo.gitdotnet restoredotnet ef database updatedotnet runSwagger
https://localhost:{PORT}/swagger
- User registers or logs in.
- User uploads an image and GPS location.
- Backend stores the report.
- Backend sends the image to the FastAPI AI Service.
- AI returns:
- Classification
- Confidence Score
- Severity Level
- Backend saves prediction results.
- Admin reviews the report.
- Status updates trigger:
- SignalR Notifications
- Email Notifications
- User tracks progress from the dashboard.
- Clean Architecture
- Repository Pattern
- Dependency Injection
- JWT Authentication
- Google OAuth
- OTP Verification
- SignalR Real-Time Communication
- AI Integration
- PDF Report Generation
- Interactive Dashboard
- RESTful APIs
- Scalable Design
- Zyad Atef
- Manal Mahmoud
- Nourhan Hamada
- Hager Zakaria
- Ahmed Mamdouh
- Abdallah Kamel
Zyad Atef
Backend Developer & Team Leader
Faculty of Computers & Artificial Intelligence, Cairo University
This project was developed as part of the RAQIB Graduation Project.