An open API service indexing awesome lists of open source software.

https://github.com/taanzzz/my-paybill-project

A secure and modern React-based platform for managing and paying bills online, featuring Firebase Authentication, real-time balance updates, and a responsive design.
https://github.com/taanzzz/my-paybill-project

daisyui firebase nodejs react tailwindcss

Last synced: 3 months ago
JSON representation

A secure and modern React-based platform for managing and paying bills online, featuring Firebase Authentication, real-time balance updates, and a responsive design.

Awesome Lists containing this project

README

          

# ๐Ÿ’ธ PayBill โ€“ Smart Online Bill Payment Platform

> *PayBill* is a fully responsive and modern online bill payment platform designed to provide users with a seamless and secure experience for managing, paying, and tracking their bills. This project delivers a clean user interface, robust payment functionality, and reliable authentication.

![PayBill Homepage](https://i.ibb.co/hxwKNG89/Screenshot-2025-06-25-182720.png)

**Live Site:** [http://talented-song.surge.sh/](http://talented-song.surge.sh/)

> **PayBill** is a secure and modern bill payment platform built with React, Firebase Authentication, and Tailwind CSS. It enables users to register, log in, view pending bills, make real-time payments, and track their payment history โ€” all within a sleek, fully responsive interface.

---

## ๐Ÿ›  Technologies Used

- โš›๏ธ React.js
- ๐Ÿ”€ React Router DOM
- ๐Ÿ” Firebase Authentication
- ๐ŸŽจ Tailwind CSS
- ๐ŸŒ React Context API
- ๐Ÿ“ข React Toastify
- ๐Ÿ–ผ๏ธ React Icons

---

## ๐Ÿš€ Features

### ๐Ÿ” Authentication System

- Email/Password registration and login
- Optional Google Sign-In
- Protected routes for authenticated users (e.g., My Profile, My Bills, Pay Now)

---

### ๐Ÿ’ณ Smart Bill Payment Flow

- View a list of pending bills with organization logos
- Click **Pay Now** to view bill details and confirm payment
- Payment amount is deducted from user's profile balance in real-time
- Payment info is stored in-memory and reflected in the UI
- Confirmation messages shown on successful transactions

---

### ๐Ÿ“œ My Bills (Payment History)

- View a list of all previously paid bills
- Accessible only to authenticated users
- Redirects to login if user is not authenticated

---

### ๐Ÿ‘ค My Profile Page

- Displays user's email, display name, and profile photo (if available)
- Live balance updates after each payment
- Organized and visually clean layout

---

### ๐Ÿ”” Notifications & Feedback

- Smooth toast messages for actions (success, error) using **React Toastify**
- Modal confirmations before critical actions like payment

---

### ๐ŸŽจ Responsive & Clean UI

- Fully responsive layout for mobile, tablet, and desktop
- Minimal and modern design implemented with **Tailwind CSS**
- Consistent and intuitive user experience across all devices

---

## ๐Ÿ“ Project Structure

The project is organized into the following main folders and files:

```
src/
โ”œโ”€โ”€ assets/ # Logos, icons, and static assets
โ”œโ”€โ”€ components/ # Reusable UI components (Navbar, Modals, Cards, etc.)
โ”œโ”€โ”€ context/ # React Context (e.g., AuthContext)
โ”œโ”€โ”€ pages/ # Application pages (Home, Login, Register, Profile, Bills, PayPage)
โ”œโ”€โ”€ routes/ # ProtectedRoute and routing setup
โ”œโ”€โ”€ App.jsx # Root component with route definitions
โ”œโ”€โ”€ main.jsx # Entry point
โ””โ”€โ”€ index.css # Tailwind base styles
```

---

## โš™๏ธ Environment Variables

Create a `.env.local` file in your project root and add your Firebase credentials:

```env
VITE_apiKey=your_firebase_api_key
VITE_authDomain=your_project_auth_domain
VITE_projectId=your_project_id
VITE_storageBucket=your_storage_bucket
VITE_messagingSenderId=your_messaging_sender_id
VITE_appId=your_app_id
```

> โš ๏ธ *Do not commit your actual API keys or sensitive information to version control.*

---

## ๐Ÿงช Local Setup Instructions

To run the project locally:

### 1๏ธโƒฃ Clone the Repository

```bash
git clone https://github.com/your-username/paybill-platform.git
cd paybill-platform
```

### 2๏ธโƒฃ Install Dependencies

```bash
npm install
```

### 3๏ธโƒฃ Start the Development Server

```bash
npm run dev
```

Visit: [http://localhost:5173](http://localhost:5173)

---

## โœ… Future Improvements

- Store payment data in a database (e.g., Firebase Firestore)
- Add balance top-up functionality
- Improve accessibility and keyboard navigation
- Add test coverage for key components

---

> ๐Ÿš€ **PayBill** โ€” A smarter way to pay your bills, faster and safer.