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

https://github.com/nexusgksoftwares/isp


https://github.com/nexusgksoftwares/isp

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

---

# πŸ“‹ ISP Billing System Documentation

## 1. Introduction πŸš€

The ISP Billing System is an all-in-one solution for managing and automating essential operations for an Internet Service Provider (ISP). This system is designed to improve efficiency by handling WiFi package management, customer registration, payment tracking, and usage monitoring.

It consists of two main interfaces:
- **Admin Panel**: For ISP administrators to manage packages, users, and payments.
- **User Panel**: For customers to purchase packages, view usage, make payments, and track their account.

---

## 2. System Features and Functionality πŸ› οΈ

### Admin Panel Features 🌐
1. **Dashboard** 🏠: Displays an overview of system activity, with real-time stats and graphs showing the number of users, packages, and payments made.
2. **Manage Packages** πŸ“¦: Allows admins to create, update, and delete WiFi packages. Each package has a speed, price, and duration for users to select from.
3. **Manage Users** πŸ‘€: Enables admins to register new users, view customer data, and manage user accounts.
4. **Manage Payments** πŸ’³: Tracks payments, displays history, and provides a summary of revenue collected. Admins can also mark payments as confirmed or pending.
5. **Settings** βš™οΈ: Offers customization options, such as changing prices, adjusting package details, and updating system configurations.
6. **Reports and Analytics** πŸ“Š: Provides reports and analytics on user data, payments, and package usage. Admins can download reports for better decision-making.

### User Panel Features 🌐
1. **Dashboard** 🏠: A personalized dashboard displaying the user’s active packages, payment history, and data usage summary.
2. **Purchase Packages** πŸ“¦: Users can view available WiFi packages, compare them, and select one to purchase based on their needs.
3. **Manage Account** πŸ‘€: Users can view or update their account information.
4. **Payment History** πŸ’΅: Shows a detailed history of payments made, including receipts, and enables users to track their billing.
5. **Support & Assistance** 🀝: Users can submit tickets for support or contact customer service directly for issues or inquiries.

---

## 3. Project Structure πŸ“

### **Admin Panel Structure** πŸ› οΈ
This part of the system is only accessible to admins. It provides tools to manage customers, packages, and payments effectively.

```
admin_panel/
β”œβ”€β”€ index.php # Admin dashboard displaying graphs and summaries
β”œβ”€β”€ includes/
β”‚ β”œβ”€β”€ header.php # Top navigation bar with logo and logout option
β”‚ β”œβ”€β”€ sidebar.php # Sidebar with navigation links (Dashboard, Packages, Users, Payments, Settings)
β”‚ └── footer.php # Footer for credits and scripts
β”œβ”€β”€ packages.php # CRUD operations for WiFi packages
β”œβ”€β”€ users.php # User management (view, add, edit, delete users)
β”œβ”€β”€ payments.php # Displays payment information and statuses
β”œβ”€β”€ reports.php # Downloadable reports and analytics
β”œβ”€β”€ settings.php # Modify system configurations
β”œβ”€β”€ assets/ # Holds CSS, JS, images, and icons
β”‚ β”œβ”€β”€ css/
β”‚ β”‚ └── styles.css # Custom styles
β”‚ └── js/
β”‚ └── charts.js # Graphs and visualization scripts
└── config.php # Database connection settings
```

### **User Panel Structure** 🌐
The user panel provides a simplified interface for customers to access and manage their account details.

```
user_panel/
β”œβ”€β”€ index.php # User dashboard with available packages and quick access links
β”œβ”€β”€ includes/
β”‚ β”œβ”€β”€ header.php # Common header with navigation links and logo
β”‚ β”œβ”€β”€ sidebar.php # Sidebar with links to account, packages, payments, and support
β”‚ └── footer.php # Footer for credits and additional scripts
β”œβ”€β”€ packages.php # List and purchase available WiFi packages
β”œβ”€β”€ my_packages.php # View details of purchased packages
β”œβ”€β”€ payments.php # Payment history and details
β”œβ”€β”€ account.php # Update user account details
β”œβ”€β”€ support.php # Contact form for customer support inquiries
β”œβ”€β”€ assets/ # CSS, JS, images, and icons
β”‚ β”œβ”€β”€ css/
β”‚ β”‚ └── styles.css # Custom styles for user interface
β”‚ └── js/
β”‚ └── interactions.js# JavaScript for user interactions
└── config.php # Database connection and configuration
```

---

## 4. How the System Operates βš™οΈ

1. **Admin Workflow** πŸ‘¨β€πŸ’Ό:
- Admins log in through the **Admin Panel** and are presented with a dashboard summarizing the system’s status.
- Using the navigation sidebar, admins can manage packages, users, and payments.
- The **Manage Packages** page lets admins add new packages with various speeds, prices, and durations.
- On the **Manage Users** page, admins can add new users, view user details, or edit and delete existing users.
- **Payments** are tracked on the **Manage Payments** page, where admins can view payment statuses and generate revenue reports.
- The **Settings** page allows system configurations and customization of package details.

2. **User Workflow** πŸ‘€:
- Users can register on the system, log in, and access the **User Panel**.
- On the **Dashboard**, users can view available packages, their current subscription, and recent payments.
- Users can browse and purchase packages through the **Purchase Packages** page, selecting a package that fits their needs.
- Payments are made through the **Payment** page, where users can see their transaction history and download payment receipts.
- For any issues, users can reach out to support on the **Support** page, where they can submit tickets or contact customer service.

---

## 5. Database Design πŸ’Ύ

The database stores essential information related to users, packages, payments, and configurations. Key tables include:

- `users`: Stores user profiles and login credentials.
- `packages`: Holds details about WiFi packages, such as speed, price, and duration.
- `payments`: Records payment history, including amount, status, and date.
- `admin_settings`: Holds system settings for configurations by admins.

---

## 6. Technology Stack πŸ’»

The ISP Billing System leverages the following technologies:
- **Backend**: PHP for server-side logic.
- **Database**: MySQL for data storage.
- **Frontend**: HTML, CSS, and JavaScript for UI and interactivity.
- **Chart.js**: For creating visual graphs in the dashboard.

---

## 7. Installation and Setup πŸ”§

1. **Clone the Repository**: Clone the ISP Billing System repository to your local machine.
2. **Database Setup**: Import the SQL file provided in the `database` folder to create tables.
3. **Configure Database Connection**: Update `config.php` in both panels with your database credentials.
4. **Launch the System**: Access the `index.php` file of both the admin and user panels to start using the system.

---