You are on page 1of 8

ELECTRICITY

BILLING
SYSTEM
SYNOPSIS

Electricity Billing System is an online Rest application where the Users can manage
their Bills. Through a web browser the user can search for his details, later can pay the bills
there will be amount according to the units he used based on that the electricity bill will be
generated.

• The Electricity Billing System Website provides user with profile management
through a web browser. An User can request admin to create and sign in to his account,
check his bill, pay bills and check due bills.

• The Administrator will have additional functionalities when compared to the


common user. He can add, delete and update the user details , user information, create and
Calculate bills, and check the pending bills.

This Rest application is developed using JAVA 8, Hibernate, Spring Core, Spring Rest,
MySQL. And also, Spring Security, Loggers, Exceptions are implemented in this Rest
Application.
Modules
Class Diagram [Service Interface]

IADMIN SERVICE

+addUser(User u)
+getAllUsers()
+modifyUser(User u)
IUSER SERVICE +deleteUser(int userid)
+payment(int id) +validateAdmin(String Username,String password)
+cancelPayment(int id) +approvePayment(int id)
+searchUser(int userid)
+validateUser(String username,String password)
+modifyUser(User u)

IBILL SERVICE

+getAllBills()
+modifyBill(Bill b)
+deleteBill(Bill b)
+addBill(Bill b)
+searchBill(int id)
+calculateBill(int id)
ICOST SERVICE

+modifyCost(cost c)
+getCost()
Technologies
1. Java

2. Hibernate

3. Spring Core

4. Spring Rest

5. MySQL Java

Java Platform:
Java is a widely used object-oriented programming language and software platform that
runs on billions of devices, including notebook computers, mobile devices, gaming consoles,
medical devices and many others.
The Java programming language originated as part of a research project to develop
advanced software for a wide variety of network devices and embedded systems. The goal
was to develop a small, reliable, portable, distributed, real-time operating platform

Features Of Java :
• Object Oriented
• Platform Independent
• Simple
• Secure
• Portable
• Robust
• Interpreted
• Distributed
• Dynamic
Hibernate
Hibernate is a Java framework that simplifies the development of Java application
to interact with the database. It is an open source, lightweight, ORM (Object Relational
Mapping) tool. Hibernate implements the specifications of JPA (Java Persistence API) for
data persistence.
Java Persistence API (JPA) is a Java specification that provides certain functionality and
standard to ORM tools. The javax.persistence package contains the JPA classes and
interfaces.

Advantages Of Hibernate Framework:


• Open Source and Lightweight
• Fast Performance
• Database Independent Query(HQL)
• Automatic Table Creation
• Simplifies Complex Mapping Joins

Spring Core
Spring framework is an open source Java platform that provides comprehensive
infrastructure support for developing robust Java applications very easily and very rapidly.
Spring is the most popular application development framework for enterprise Java. Millions
of developers around the world use Spring Framework to create high performing, easily
testable, and reusable code.

Features Of Spring:
o Fast Development
o Secure
o Supportive
o Open Source
o Loose Coupling
o Productive
Spring Rest
Spring Rest Controller annotation is used to create RESTful web services using Spring MVC.
Spring Rest Controller takes care of mapping request data to the defined request handler
method. Once response body is generated from the handler method, it converts it to JSON
or XML response.
Spring Rest Controller helps us in focusing on business logic by taking care of all the boiler-
plate stuffs for creating REST web services APIs.

Post Man
Postman is a client-side application that allows you to test REST services easily Postman is a
standalone tool that exercises web APIs by making HTTP requests from outside the service.
When using Postman, we don't need to write any HTTP client infrastructure code just for the
sake of testing. Instead, we create test suites called collections and let Postman interact
with our API
1.MySQL: MySQL is a relational database management system based on the Structured
Query Language, which is the popular language for accessing and managing the records in
the database. MySQL is open-source and free software under the GNU license. It is
supported by Oracle Company.

• It defines the database relationship in the form of tables (collection of rows and columns),
also known as relations.
• It uses many SQL queries and combines useful information from multiple tables for the
end-users.
• MySQL is easy to use and also it consists of a solid data security layer that protects
sensitive data from intruders
• MySQL is considered one of the very fast database languages.
• It is a Plat form independent.

You might also like