A Django-based civic issue management system that enables citizens to report civic issues and authorities to manage them efficiently.
-
User Roles:
- Citizens: Report issues and track their status
- Field Staff: Update issue status and manage on-ground operations
- Officers: Access analytics and oversee all operations
-
Issue Management:
- Report civic issues with location, photos, and descriptions
- Real-time status updates
- Interactive map interface
- Date and time-based filtering
-
Analytics:
- Issue type distribution visualization
- Status distribution by issue type
- Interactive charts and filters
- Django
- PostGIS for spatial data
- OpenLayers for maps
- Chart.js for analytics
- Bootstrap 5 for UI
- PostgreSQL database
- Install PostgreSQL and PostGIS:
# For macOS using Homebrew
brew install postgresql
brew install postgis
# For Ubuntu
sudo apt install postgresql postgresql-contrib
sudo apt install postgis- Create virtual environment and install dependencies:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r req.txt- Create database and enable PostGIS:
CREATE DATABASE cityshine;
\c cityshine;
CREATE EXTENSION postgis;- Configure environment:
python manage.py migrate
python manage.py createsuperuser- Run development server:
python manage.py runserver-
Citizens:
- Register/Login
- Report new issues
- Track reported issues
- View issues map
-
Field Staff:
- Update issue status
- View assigned issues
- Filter issues by type/status/date
-
Officers:
- Access analytics dashboard
- View issue distribution
- Monitor field staff performance
- Generate insights
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request