How hamisi-mtamba/network-monitoring-system works
This is a multi-tenant ISP management platform: customers discover a company’s packages, submit payment, and receive network access when payment is confirmed; administrators manage company operations and platform-wide tenants. The README documents the end-to-end workflow, while sampled controllers show payment persistence/provisioning, reconnect behavior, and company management. Several frontend services and backend route/controller connections were not sampled, so those links are represented only where documented or evidenced.
Main entry points: app.js Backend API · database.js PostgreSQL · app.routes.ts Admin application · payment.controller.js Public payment
Components 22
Customer portal
- Customer portal
customer-portal/src/app/app.routes.ts - Wi-Fi context
customer-portal/src/app/services/wifi-context.service.ts - Package and payment
customer-portal/src/app/pages/packages/packages.ts - Session status
customer-portal/src/app/pages/session-status/session-status.ts
Administration
- Admin application
admin-app/src/app/app.routes.ts - Admin authentication
admin-app/src/app/services/auth.service.ts - Company operations
admin-app/src/app/pages - Platform operations
admin-app/src/app/pages/platform-companies/platform-companies.page.ts
Backend services
- Backend API
backend/app.js - Public payment
backend/src/controllers/public/payment.controller.js - Admin payment
backend/src/controllers/admin/payment.controller.js - Company management
backend/src/controllers/platform/company.controller.js - Platform routes
backend/src/routes/platform/company.routes.js - SMS verification
backend/src/controllers/integrations/httpsms.controller.js - Session reconnect
backend/services/session-reconnect.service.js - Payment references
backend/services/transaction-reference.service.js - Payment verification
backend/services/payment-verification.service.js
Data and network
- PostgreSQL
backend/src/database/database.js - MikroTik router
backend/services/mikrotik.service.js
Other components
- Customer
- Administrator
- Payment services
Connections 26
- Customer → Customer portal: uses
- Customer portal → Wi-Fi context: captures context
- Customer portal → Package and payment: selects package
- Package and payment → Backend API: submits payment
- Backend API → Public payment: dispatches
- Public payment → Payment references: creates reference
- Public payment → PostgreSQL: queries and writes
- Public payment → Payment services: requests payment
- Payment services → SMS verification: sends event
- SMS verification → Payment verification: processes SMS
- Payment verification → PostgreSQL: updates payment
- Administrator → Admin application: uses
- Admin application → Admin authentication: authenticates
- Admin application → Company operations: manages operations
- Admin application → Platform operations: manages platform
- Company operations → Backend API: calls API
- Platform operations → Backend API: calls API
- Backend API → Platform routes: routes requests
- Platform routes → Company management: dispatches
- Company management → PostgreSQL: reads and writes
- Admin payment → PostgreSQL: reads and writes
- Admin payment → MikroTik router: provisions access
- Backend API → Session reconnect: handles reconnect
- Session reconnect → PostgreSQL: checks sessions
- Session reconnect → MikroTik router: restores access
- MikroTik router → Session status: grants connectivity