# Uganda Waste Management System
A Django-based web application for reporting waste issues in Uganda. The system allows users to submit waste reports with photos and location information, and sends email notifications to administrators.
## Features
- 📱 Mobile-friendly interface optimized for smartphones
- 📸 Photo capture and upload functionality
- 🗺️ **Hierarchical location system** with Uganda's administrative divisions:
- Districts, Counties, Subcounties, Parishes, and Villages
- Cascading dropdown menus for easy location selection
- Specific location details for precise reporting
- 📧 Automatic email notifications to administrators
- 👨💼 Admin dashboard for managing reports
- 🔧 Django admin interface for advanced management
- 🔐 Separate user and admin access levels
## Setup Instructions
### 1. Install Dependencies
```bash
pip install -r requirements.txt
```
### 2. Configure Email Settings
Edit `waste_management_system/settings.py` and update the email configuration:
```python
EMAIL_HOST_USER = 'your-email@gmail.com'
EMAIL_HOST_PASSWORD = 'your-app-password'
ADMIN_EMAIL = 'admin@yourdomain.com'
```
### 3. Run Migrations
```bash
python manage.py migrate
```
### 4. Load Uganda Location Data
Load sample administrative divisions (districts, counties, subcounties, parishes, villages):
```bash
python load_sample_locations.py
```
Or use the management command (if available):
```bash
python manage.py load_uganda_locations
```
### 5. Create Superuser
```bash
python manage.py createsuperuser
```
### 6. Run the Development Server
```bash
python manage.py runserver
```
### 7. Access the Application
- **Main App**:
127.0.0.1
- **Admin Dashboard**:
127.0.0.1
- **Django Admin**:
127.0.0.1
## Usage
### For Citizens
1. Open the application on your mobile device
2. **Select location hierarchically**:
- Choose District (e.g., Kampala, Wakiso, Jinja)
- Select County within the district
- Pick Subcounty withi …