#buko #buko-onboarding #buko-dashboard #buko-reporting
[[2025-01-11]]
- Admin - Internal Buko Users
- Company - Companies that Buko has a contract with
- Service - The services that Buko provides
- Cargo
- Passenger
- GPS
Admin Dashboard to manage all the buko services. This will control the onboarding of new companies, enabling and disabling of services, and generating reports.
In the future, we will add more features: * Cargo Management * Passenger Management * GPS Tracking
-
We can only perform direct CRUD operations using the Django Admin
-
Complex operations is difficult to perform using the Django Admin
- We resort in editing Database most of the time
-
Adding new company requires additional coding changes
-
Create a dashboard to manage all the services
- Onboarding
- Reporting
- Future Services (Cargo, Passenger, GPS)
-
Add management api endpoints in services
- These endpoints will be used by the dashboard to perform CRUD operations
-
Create the features directly in the service then add
-
Dashboard to add company
- With the following
- [ONBOARDING]
- Adding of new Company
- Enable/Disable Company
- Add/Remove Users To company
- Enable services
- Cargo
- Passenger
- [REPORTS]
- Generate Reports
- Cargo
- Passenger
- Export Reports
- CSV
- Filter Reports
- Date
- Company
- Service
- View Reports
- Cargo
- Passenger
- Generate Reports
- CARGO Management
- Passenger Management
- [GPS Tracking]
- Company
- Track trackers
- Company
graph LR
AdminUser --> DashboardService
DashboardService --> Company
DashboardService --> Auth
DashboardService --> ExternalServices
subgraph Dashboard Service
DashboardService[Dashboard Service]
end
AdminUser[Admin User]
Company[Company]
ExternalServices["External Services <br> (Cargo, Passenger, GPS)"]
graph TB
subgraph DashboardService
direction TB
WebApplication
BackendService
end
subgraph ExternalServices
direction TB
CompanyService
CargoService
PassengerService
end
WebApplication --> BackendService
BackendService --> Database
BackendService --> CompanyService
BackendService --> CargoService
BackendService --> PassengerService
WebApplication["Web Application (React)"]
BackendService["Dashboard Backend Service (Lambda)"]
Database[(Database)]
CompanyService["Auth and Company <br> Service Django"]
graph TB
subgraph Dashboard UI
UI
end
subgraph Dashboard Backend Service
Controller
AuthService
CompanyService
ReportService
NotificationService
end
UI --> auth["/api/auth"]
UI --> company["/api/company"]
UI --> report["/api/report"]
auth --> Controller["Controller"]
company --> Controller["Controller"]
report --> Controller["Controller"]
Controller --> AuthService
Controller --> CompanyService
Controller --> ReportService
Controller --> NotificationService
Controller --> Database
AuthService["Auth Service"] --> Django
CompanyService["Company Service"] --> Django
ReportService["Report Service"] --> Cargo
ReportService["Report Service"] --> Passenger