Skip to content

A platform for managing energy consumption and bills with web development, REST API design, and database management.

Notifications You must be signed in to change notification settings

Esh07/iGSE-Energy-Management-System

Repository files navigation

iGSE Energy Management System - Webapp

iGSE Energy Management System: A tool for managing energy consumption and bills, featuring a web interface and a REST API.

For detailed documentation, please refer to the 📖 Documentation file.

For screenshots of the web interface, please refer to the 📷 Screenshots file.

💻 Technologies Used

  • Programming Languages: Python, HTML, CSS, JavaScript
  • Frameworks: Flask, Bootstrap
  • Libraries: Jinja2, jQuery, QRCode.js
  • Database: SQLite
  • API Testing: Postman

💡 Features

Customer

  1. A customer can submit new meter readings, which consists of four parts:
    • Submission date (e.g. 2022-11-05, default value: today)
    • Electricity meter reading - Day (e.g. 100 kWh)
    • Electricity meter reading - Night (e.g. 250 kWh)
    • Gas meter reading (e.g. 800 kWh)
  2. A customer can view and pay the latest unpaid bill with energy credit.
  3. A customer can top up the credit with a valid EVC*.

Admin

iGSE admin account: there is only one pre-defined GSE admin account (due to requirement), which has a login name “[email protected]” and a default password “gse@energy”.

  1. Admin can set the price per kWh (or unit cost) for the electricity (day/night) and gas.
  2. Admin can access meter readings submitted by all customers.
  3. Admin can view the energy statistics– show the average gas and electricity consumption (in kWh) per day for all customers based on their latest billing period.

System

  • Integration of QR code scanning for easy registration and verification of energy vouchers.
  • REST API endpoints to provide open access to energy consumption data and statistics.
  • Robust error handling mechanisms for providing meaningful error messages.

🧗 Challenges Faced

  1. User Authentication

  2. QR Code Scanning

  3. Data Management

  4. Error Handling

🏆 Achievements

By completing this project, I accomplished the following:

  • Developed a fully functional web interface for iGSE Energy Management System, allowing customers to submit meter readings, view bills, and pay bills using energy vouchers.
  • Implemented user registration and authentication functionality, ensuring secure access to customer accounts.
  • Integrated QR code scanning feature for easy registration and verification of energy vouchers.
  • Created an administrative dashboard for GSE admins to manage unit prices, view customer bills, and generate energy usage statistics.
  • Implemented robust error handling mechanisms to provide meaningful error messages for various scenarios.

About

A platform for managing energy consumption and bills with web development, REST API design, and database management.

Resources

Stars

Watchers

Forks