https://github.com/rafaybbx/complex-billing-system
A complex billing system built using file handling and procedural programming approach in java.
https://github.com/rafaybbx/complex-billing-system
billing-system filehandling java-8
Last synced: 7 months ago
JSON representation
A complex billing system built using file handling and procedural programming approach in java.
- Host: GitHub
- URL: https://github.com/rafaybbx/complex-billing-system
- Owner: rafaybbx
- License: mit
- Created: 2025-02-06T17:18:32.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-02-06T17:40:09.000Z (11 months ago)
- Last Synced: 2025-05-14T06:28:27.529Z (8 months ago)
- Topics: billing-system, filehandling, java-8
- Language: Java
- Homepage:
- Size: 1010 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Complex Billing System
A robust **Java-based utility billing management system** that handles multiple utilities (**electricity, water, gas, internet, and phone services**) using **file handling** and **file-based data persistence**. Built with a **procedural programming approach**, this system efficiently manages billing operations through structured functions, ensuring **comprehensive billing management** and **detailed reporting capabilities**.
## π Features
### β
Bill Management
- Generate **new monthly utility bills**
- Update existing bills for previous months
- **Automatic bill calculations** based on meter readings
- Multi-utility support: **Electricity, Water, Gas, Phone, Internet**
### π Search and View Capabilities
- View **complete consumer records** for specific months/years
- **Search functionality:**
- By **Consumer ID**
- By **Address** (Block/Sector/Street/House/Floor)
- Flexible viewing options:
- **Single month view**
- **Yearly view**
- **Custom date range view**
### π Analysis and Reporting
- Maximum/Minimum bill analysis for:
- **Individual utilities**
- **Blocks/Sectors**
- **Streets**
- **Houses**
- **Detailed monthly billing reports**
- **Yearly and half-yearly summaries**
- **Utility-specific consumption patterns**
### π Address System Structure
- **Hierarchical organization:**
- Sectors (**A-J**)
- Sub-sectors (**1-4**)
- Streets (**1-10**)
- Houses (**1-20**)
- Floors (**Ground, First, Second**)
## π Installation
### 1οΈβ£ Clone the Repository
```bash
git clone https://github.com/yourusername/complex-billing-system.git
```
### 2οΈβ£ Configure File Paths
- Locate all file handling paths in the code
- **Default path pattern:**
```plaintext
Z:\Uni\S2\cbs\records\
```
- Update these paths to match your systemβs directory structure:
```plaintext
C:\YourDirectory\billing-system\records\
```
## π Initial Setup
### π Automatic Record Creation
The system includes an **automated data generation** feature:
1. Launch the application
2. Select **Option 7**: `"Auto file creation and random data entry loop"`
3. Configure:
- Number of **Sectors** (A-J)
- Number of **Sub-sectors** (1-4)
- Number of **Streets** (1-10)
- Number of **Houses** (1-20)
- Number of **Floors**
The system will **automatically generate records** based on your specifications, saving setup time.
### π Default Data Structure
The default files include:
β
**4 Sectors** (A-D)
β
**4 Sub-sectors**
β
**4 Streets**
β
**4 Houses**
β
**2 Floors**
## π Requirements
- **Java Development Kit (JDK) 8+**
- **Sufficient disk space** for record storage
## βΆοΈ Usage
### 1οΈβ£ Compile the Java Files
```bash
javac practice.java
```
### 2οΈβ£ Run the Application
```bash
java EmployeeDemo
```
### 3οΈβ£ Navigate the **Menu-Driven Interface**
## β οΈ Important Notes
- Ensure **file paths** are properly configured before running
- Use the **automatic record creation** for initial setup
- **Backup existing records** before making major changes
- Maintain the **directory structure** for smooth file handling
## π€ Contributing
Want to contribute? **Fork this repository**, make changes, and submit a pull request!
## π License
This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.
For any **issues or queries**, feel free to **open an issue** in the repository! π