Contacts: email - gabrielokemwa83@gmail.com name - Gabriel Okemwa
This application is a Prepaid Billing Management Software designed for smart water meters. It provides functionalities for managing billing, meter readings, and user accounts in a user-friendly interface. The application is built with Django for the backend and React for the frontend. Docker is used for containerization, PostgreSQL serves as the primary database, and Celery is employed for handling asynchronous tasks.
- Prepaid Billing: Manage and track prepaid billing for water consumption.
- Smart Meter Integration: Handle smart water meter data and readings.
- User Management: Admin and user roles for managing accounts and permissions.
- Asynchronous Tasks: Background processing using Celery.
- Responsive UI: Modern, responsive frontend using React and Tailwind CSS.
- Backend: Django, PostgreSQL
- Frontend: React, React Query, Tailwind CSS
- Asynchronous Tasks: Celery
- Containerization: Docker
- Docker
- Docker Compose
-
Clone the Repository
git clone https://github.com/Okemwag/Aquabill.git cd Aquabill
-
Build and Start Backend
make build
This command will build the Docker images and start the containers defined in the
docker-compose.yml
file.- START THE FRONTEND
cd client yarn install yarn run dev
-
Apply Migrations
Open a new terminal and run the following command to apply database migrations:
make migrate
-
Create a Superuser
To access the Django admin interface, create a superuser with:
make createsuperuser
-
Access the Application
The application will be available at
http://localhost:8000
. The React frontend can be accessed athttp://localhost:5173
if running separately.
- Django: Configuration settings can be found in the
settings.py
file within the Django application. - Celery: Celery configuration is located in
celery.py
. - React: Configuration files for React are located in the
frontend
directory.
API DOCS = http://localhost:8000/swagger ADMIN PANEL = http://localhost:8000/admin
Contributions are welcome! Please submit issues and pull requests on GitHub.
This project is licensed under the MIT License - see the LICENSE file for details.