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 …