Rwanda Crime Reporting System
# TANGAMAKURU - Rwanda Crime Reporting System
A comprehensive digital platform for reporting and managing crime incidents in Rwanda. Citizens can report incidents with evidence, officers can manage cases, and administrators can oversee the entire system.
---
## 📋 Table of Contents
- Features
- Technology Stack
- Prerequisites
- Installation Steps
- Project Structure
- Default Accounts
- Usage Guide
- Troubleshooting
- Security Notes
---
## ✨ Features
### 👥 Citizen Portal
- Submit incident reports with evidence (images and documents)
- Track report status in real-time (Pending → In Progress → Resolved)
- Receive notifications about case updates
- Respond to officer requests for additional information
- View all submitted reports with filters
### 👮 Officer Dashboard
- View and manage assigned incidents
- Update case status with detailed comments
- Request additional information from citizens
- Communicate with admin via built-in messaging system
- Generate monthly statistical reports with PDF export
- View incident details with all evidence
### 🛡️ Admin Dashboard
- Manage officers in their district
- Approve or deny new officer registrations
- View all reports in the district with sector filtering
- Assign unassigned reports to officers
- Send announcements to officers in specific sectors
- Communicate with officers via messaging system
- View real-time statistics and charts
### 👑 Super Admin
- Create and manage district administrators
- System-wide maintenance announcements
- Admin account management (activate/deactivate/delete)
- View system-wide statistics
---
## 🛠 Technology Stack
| Component | Technology |
|-----------|------------|
| Backend | Flask 2.3.3 (Python 3.10+) |
| Database | PostgreSQL 12+ |
| ORM | SQLAlchemy 2.0 |
| Migrations | Flask-Migrate / Alembic |
| Frontend | Bootstrap 5, JavaScript, Jinja2 |
| Authentication | Session-based with Flask-Login |
| PDF Generation | WeasyPrint |
| File Uploads | Local storage with secure filename …