This is the Admin Panel for managing bills, notifications, and other administrative functions of the Pure Drop Waters Billing Application. The panel allows administrators to efficiently manage user data, monitor billing information, and send notifications.
- Features
- Technologies Used
- Project Structure
- Setup and Installation
- Backend API Integration
- Building the APK
- Future Improvements
- User Management: View and manage user billing details and account statuses.
- Bill Management: Generate, view, and update bills for users.
- Notification Management: Send notifications to users regarding pending payments or other important updates.
- Responsive Design: Optimized for multiple device sizes.
- Secure Login: Only authorized administrators can access the dashboard.
- Frontend: Flutter (Dart)
- Backend API: PHP and MySQL
- Database: MySQL
- State Management: Provider (or equivalent Flutter state management solution)
- IDE: VS Code
admin_panel/
├── android/ # Android-specific build files
├── ios/ # iOS-specific build files
├── lib/ # Flutter source code
│ ├── main.dart # Entry point of the app
│ ├── screens/ # Screens for different functionalities
│ │ ├── login_screen.dart
│ │ ├── dashboard_screen.dart
│ │ ├── bills_screen.dart
│ │ ├── notifications_screen.dart
│ ├── widgets/ # Custom widgets
│ │ ├── custom_card.dart
│ │ ├── custom_button.dart
│ ├── services/ # API integration and backend logic
│ │ ├── api_service.dart
├── pubspec.yaml # Project dependencies
└── README.md # Project documentation
- Ensure you have Flutter installed. If not, follow the Flutter Installation Guide.
- Install a code editor (preferably VS Code) and the required plugins for Flutter.
- Clone the repository:
git clone https://github.com/NexusGKSoftwares/admin_panel.git cd admin_panel
- Install dependencies:
flutter pub get
- Connect a physical device or start an emulator.
- Run the app:
flutter run
The admin panel communicates with the backend via API endpoints. The following are some key endpoints:
-
Fetch Bills:
Method:GET
Endpoint:/api/bills
Description: Retrieves all bills from the database. -
Send Notifications:
Method:POST
Endpoint:/api/notifications/send
Description: Sends notifications to users about pending payments. -
Login Admin:
Method:POST
Endpoint:/api/admin/login
Description: Authenticates the admin user.
Ensure the backend is running and accessible for proper API functionality.
To release the APK:
- Clean previous builds:
flutter clean
- Build the APK:
flutter build apk --release
- Find the APK in the following directory:
build/app/outputs/flutter-apk/app-release.apk
- Add a Statistics Dashboard for visualizing billing trends.
- Implement Role-Based Access Control (RBAC) for different admin levels.
- Include detailed logs for admin actions.
Feel free to contribute to this project by submitting pull requests or reporting issues.
Maintainer: Gideon Bett
For inquiries or support, contact [email protected].