Jukumu is a community-driven digital platform designed to empower citizens to report incidents of corruption and injustice, track the progress of their cases, view incident hotspots on a map, and support one another through donations. The platform fosters transparency, accountability, and collective action in fighting corruption and abuse of power.
- Incident Reporting: Users can report cases of corruption and injustice.
- Progress Tracking: Track the status and resolution of reported incidents.
- Hotspot Mapping: Visualize corruption and incident hotspots on a map.
- Donation System: Enable community members to support one another through donations.
- Admin Verification: Admins can approve and verify reported incidents for authenticity.
- Anonymous Submissions: Users can submit reports anonymously to protect their identity.
- Frontend & Backend: Django (Python)
- Database: MySQL
- API: M-Pesa API (for secure donations)
- Authentication: Django authentication system with admin approval features
- Python 3.8+
- Django 3.0+
- MariaDB or MySQL
- Node (for Deployment)
- Clone the repository:
git clone https://github.com/veranyagaka/jukumu.git cd jukumu
- Create a virtual environment:
python3 -m venv venv
source venv/bin/activate
-
Install Dependencies: Install the necessary Python dependencies by running:
pip install -r requirements.txt
-
Configure the Database: In settings.py, update the DATABASES section with your MariaDB/MySQL credentials:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'jukumu_db', 'USER': 'your_username', 'PASSWORD': 'your_password', 'HOST': 'localhost', 'PORT': '3306', } }
-
Run Migrations: Apply database migrations by running:
python manage.py migrate
-
Create a Superuser: To create a superuser for accessing the admin panel:
python manage.py createsuperuser
-
Run the Development Server: Start the Django development server with the following command:
python manage.py runserver
-
M-Pesa Integration: Jukumu integrates with the M-Pesa API to enable secure transactions for donations.
- Obtain your M-Pesa API credentials (sandbox or production).
- Add the necessary M-Pesa API keys in the environment variables:
MPESA_CONSUMER_KEY=your_consumer_key MPESA_CONSUMER_SECRET=your_consumer_secret
- Incident Reporting: Users can report issues via the web interface. Admins will review and approve submissions.
- Donations: Community members can contribute through M-Pesa to support victims of reported incidents.
- Map: Incidents are displayed on a map, highlighting hotspots for corruption and injustice.
To deploy Jukumu on Render or any other service:
Set up environment variables (e.g., M-Pesa credentials, database credentials). Install necessary dependencies and configure the production environment. Deploy the Django project.
We welcome contributions to improve Jukumu. Please submit pull requests and ensure all tests pass before submitting.
This project is licensed under the MIT License.
For any queries or support, please reach out via nyagakavera@gmail.com or follow us on social media: