iReporter is a platform that enables citizens to report corruption and call for government intervention on issues affecting their communities. Users can create reports, attach media, and track the status of their submissions as they are reviewed by authorities.
- Framework: Next.js (React)
- Styling: Tailwind CSS
- State Management: Context API / React Hooks
- API Calls: Axios
- Authentication: JWT-based authentication
- Framework: Flask (Python)
- Database: PostgreSQL
- Authentication: Flask-JWT
- Email Notifications: SendGrid
- User Authentication: Users can create accounts and log in.
- Create Reports: Users can create two types of records:
- Red-Flag Reports: Reports linked to corruption incidents.
- Intervention Reports: Requests for government action on issues (e.g., infrastructure problems).
- Edit Reports: Users can edit their reports before they are under review.
- Delete Reports: Users can delete their reports before they are under review.
- Geolocation: Users can attach and modify geolocation data to reports.
- Attach Media: Users can upload images and videos to support their claims.
- Track Report Status: Users receive real-time updates when an admin updates their report’s status.
- Manage Reports: Admins can update the status of reports to:
- Under Investigation
- Resolved
- Rejected
- User Notifications: Users receive email updates when the status of their reports changes.
- Clone the repository:
git clone https://github.com/Mboya72/repotor.git cd repotor
- Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install dependencies:
pip install -r requirements.txt
- Run the Flask server:
flask run
- Clone the frontend repository:
git clone https://github.com/Mboya72/repotor.git cd repotor
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Sign up and log in.
- Create a red-flag or intervention record.
- Attach images/videos and geolocation to support your report.
- Track your report status in real-time as the admin reviews it.
- Fork the repository.
- Create a feature branch:
git checkout -b feature-name
- Commit changes:
git commit -m 'Add feature X'
- Push to the branch:
git push origin feature-name
- Create a pull request.
This project is licensed under the MIT License.
Made with ❤️ by Repotor Team