Here’s a redrafted version of your README that incorporates the new notification feature based on case status changes:
- Introduction
- Features
- Technologies Used
- Installation
- Usage
- Notifications
- API Integration
- Contributing
- License
Haki_mkononi is a web application designed to streamline case management for legal professionals and provide easy access to legal services for citizens. The name "Haki_mkononi" translates to "Justice in your hands" in Swahili, emphasizing the app's goal of making legal processes more accessible.
- User Authentication: Secure login for citizens, legal professionals, and administrators
- Case Management:
- Create and submit legal cases
- Upload and manage case-related documents
- Track case status and updates
- Role-based Access Control:
- Citizens can view and manage their own cases
- Legal professionals and admins have broader access to case information
- Search Functionality: Advanced search options to find cases by various criteria
- Notification System:
- Real-time notifications when a case is created or its status changes (open, closed, pending)
- Users can view, track, and manage their notifications directly in the app
- SMS Notifications: Automatic SMS updates on case status changes
- Responsive Design: Accessible on both desktop and mobile devices
- Video Call Scheduling: Users can schedule video calls with legal officials for virtual consultations and case discussions
- Backend: Django
- Database: PostgreSQL
- Frontend: HTML, CSS, JavaScript
- Notifications: Real-time in-app notifications and SMS via Africa's Talking API
- File Storage: Django's built-in file handling (for document uploads)
- Video Call Integration: WebRTC for video calling features
-
Clone the repository:
git clone https://github.com/Kelvin-Wepo/Haki_Mkononi cd haki_mkononi
-
Set up a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables: Create a
.env
file in the project root and add:SECRET_KEY=your_django_secret_key DEBUG=True AFRICAS_TALKING_USERNAME=your_username AFRICAS_TALKING_API_KEY=your_api_key
-
Run migrations:
python manage.py migrate
-
Create a superuser:
python manage.py createsuperuser
-
Run the development server:
python manage.py runserver
After installation, you can access the application at http://localhost:8000
. Log in with your superuser credentials to access the admin panel and set up initial data.
For regular users:
- Register an account
- Log in to the system
- Create a new case or search for existing cases (based on user role)
- Upload relevant documents
- Track case progress and receive notifications in-app and via SMS
- Schedule video calls with legal officials for consultations and case discussions
Haki_mkononi comes with a robust notification system that keeps users informed about the status of their cases.
-
In-App Notifications: Users receive notifications in the app whenever:
- A new case is created.
- The status of their case changes (e.g., from "under review" to "open" or "closed").
-
Notification Features:
- Users can view all notifications in the "Notifications" section.
- Notifications can be marked as read once reviewed.
- The notification system is designed to ensure that users stay updated on their case progress in real-time.
Example notifications:
- "Your case 'Case Title' has been successfully created."
- "Your case 'Case Title' has been moved to open."
- "Your case 'Case Title' has been closed."
-
SMS Notifications: SMS notifications are sent for key status changes to keep users informed, even when they are not logged into the application.
Haki_mkononi uses the Africa's Talking API for SMS notifications. To set this up:
- Sign up for an account at Africa's Talking
- Obtain your API credentials
- Add these credentials to your
.env
file as shown in the Installation section
We welcome contributions to Haki_mkononi! Please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
file for more information.
For more information or support, please contact support@haki_mkononi.com.