Uganda's magical platform where citizens report issues in their communities.
# Tuwaabe - Civic Engagement Platform
A production-ready civic reporting platform for Uganda and East Africa. Citizens can report community problems (potholes, broken infrastructure, environmental issues) and track their resolution by relevant authorities.
## Features
### For Citizens
- π± Report civic issues with photos/videos
- π GPS location tagging with map view
- π¬ Comment and discuss reports
- π Like reports to show support
- π Push notifications for updates
- πΊοΈ View nearby issues on map
- π Track report status
- π€ Privacy-focused (nickname + avatar only)
- π Dark mode support
### For Authorities (KCCA, NEMA, UEDCL, UETCL)
- π View assigned reports
- β
Update report status
- π¬ Add official responses
- π Analytics dashboard
- π₯ Export reports (PDF/Excel)
### For Superadmins
- β
Approve/reject reports
- π« Content moderation
- π₯ User management
- π Abuse detection
- π Platform analytics
## Technology Stack
- **Frontend**: Flutter 3.8+
- **Backend**: Firebase (Auth, Firestore, Storage, Cloud Messaging, Functions)
- **State Management**: Riverpod
- **Architecture**: Clean Architecture + Repository Pattern
- **Dashboards**: PHP + Bootstrap 5
## Prerequisites
- Flutter SDK 3.8 or higher
- Dart SDK 3.0 or higher
- Android Studio / VS Code
- Firebase account
- Google Maps API key
## Setup Instructions
### 1. Clone the Repository
```bash
git clone
github.com
cd tuwaabe
```
### 2. Install Dependencies
```bash
flutter pub get
```
### 3. Firebase Setup
#### a. Create Firebase Project
1. Go to Firebase Console
2. Create a new project named "Tuwaabe"
3. Enable Google Analytics (optional)
#### b. Add Android App
1. In Firebase Console, click "Add app" β Android
2. Package name: `com.eriab.tuwaabe.tuwaabe`
3. Download `google-services.json`
4. Place it in `android/app/`
#### c. Enable Firebase Services
1. **Authentication**
- Enable Email/Password
- Enable Google Sign-In
- Enable Anonymous
2. **Firestore Database**
- Create d β¦