Skip to content

LwaziNcubeX/AquaBills

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AquaBills - Water Billing Management System

AquaBills is a comprehensive water billing management system designed to streamline the process of managing water consumption, billing, and customer information.

AquaBills Screenshot

Introduction

AquaBills utilizes modern web technologies for both the frontend and backend:

Frontend

  • React: A JavaScript library for building user interfaces.
  • Chakra UI: A simple, modular and accessible component library for React.
  • TypeScript: A statically typed superset of JavaScript.
  • Vite: A fast frontend build tool that provides an extremely fast development experience.

Backend

  • Python: A high-level programming language for general-purpose programming.
  • Flask: A lightweight WSGI web application framework in Python.
  • Appwrite: An open-source backend server for web and mobile developers, written in PHP and running on a Docker environment.

Installation

To get started with AquaBills, follow these steps:

  1. Clone the repository:

    git clone https://github.com/LwaziNcubeX/AquaBills.git
    cd AquaBills
  2. Install frontend dependencies and start the development server:

    cd frontend
    npm install
    npm run dev
  3. Install backend dependencies and start the Flask server:

    cd backend
    pip install -r requirements.txt
    python app.py

Usage

Once the servers are running, you can access AquaBills at http://localhost:5173 for the frontend and http://localhost:5000 for the backend.

Contributing

Contributions are welcome! To contribute to AquaBills, please follow the guidelines outlined in CONTRIBUTING.md.

The Biggest Challenge

During project planning, I thought this would be a simple "in and out" job since i had chakra-ui on my side😂. I believed I would finish on time, but little did I know, I was just blinded by illusion. When I initially started the project, I had planned to use React.js and Chakra UI for the frontend. However, I then decided, "Why not use TypeScript so I can learn it while doing the project?"

Implementing TypeScript seemed like a great idea at first. I thought it would enhance the project's maintainability and catch errors early on. However, I quickly realized that TypeScript brought its own set of challenges. I wanted to modify code so i can use javascript but i knew that i will be wasting more time and js had its own challanges so i hadt to continue with typescript

Note: I will post a detailed blog post link about the challenges I faced while doing this project and more. ....

Connect with Me

You can find me on various platforms:

Feel free to reach out to me on any of these platforms!

Licensing

AquaBills is licensed under the GNU General Public License v3.0 (GPL-3.0).