Skip to content

The Frontend of Vidyut - Electricity Billing Management System

License

Notifications You must be signed in to change notification settings

lolla-sai/Vidyut-Frontend

Repository files navigation

Logo

Vidyut - Electricity Billing System

Vidyut is a complete Electricity Billing solution, that provides many features including new consumer registration, billing, complaints etc.

Features

Consumer Side

  • New Consumer Application which is quick, and secured by OTP verification.
  • Subsidized applications with proof documents upload is also allowed.
  • Timely mails when bill is generated, bill is updated, or due date approaches
  • Fetching Bills by entering bill ID
  • A complaints page, to let consumers report any discrepencies in the bill.

Admin Side

  • Clean and Consistent UI
  • Generate bills for many consumers in one go, just by uploading a flat file (meter reading csv)
  • Billing module generates a detailed bill transparently, for all types of consumers.
  • Ability to search and filter applications by consumer ID
  • Ability to view/edit, accept/reject with reason applications.
  • View all your complaints in one place, accept the complaint and correct the bill meter reading or slab rates, or reject the complaint all together.
  • Option to update slabs/rates, change fixed charges, set their validity from time to time.
  • See all bills, update payment status

Other Features

  • Dark theme support
  • Keyboard Shortcut (Alt + A) to go to admin panel and (Ctrl + Shift + K) to toggle dark theme.

Demo

Consumer Side

  • New Registration and about page

    Demo 1

  • Fetching Bill and Complaints

    Fetch Bill and complaint

Admin Side

  • Applications and Complaints

    Admin Walkthrough 1

  • Bill Generation and Slab Rates

    Admin Walkthrough 2

Tech Stack

Client: NextJS-13, Typescript, React Query, Chakra UI, EJS (for bill)

Server: Node, Express, Firebase, nodemailer, node-cron (For email sending cron jobs), logger for logging

Project Architecture

Architecture

Installation

This is a Next.js project bootstrapped with create-next-app.

First, run the development server:

npm install
npm run dev
# or
yarn dev
# or
pnpm dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

Then, run the backend server which can be found at Vidyut Backend:

npm install
npm run serve
# or
yarn serve

The server will begin on http://localhost:8080 which will be used by the frontend to communicate with firebase.

Deployment

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

Lessons Learned

As my first project under industry mentorship from OneShield Inc, I realized the importance of planning, and initial research phase in a project. High Level Design Documents, Entity Relationship Diagrams, Flow diagrams, Requirement analysis - all these helped in better understanding the problem at hand.

Through this project I also learnt Typescript, and the benefits it brings in as a statically typed language.

We won the 2nd place for this, and the prize made it all worth the effort 😊

Contributors

Support

For any questions/doubts, mail to saisameer.lolla@gmail.com. You can also connect with other team mates shown in the contributors tab.

License

Apache 2.0

About

The Frontend of Vidyut - Electricity Billing Management System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •