S
Sheba ISP ERPDOCS

Project Status & Roadmap

Current implementation baseline, verified completed stages, technical debt, and future roadmap.

Project Status & Roadmap

IMPLEMENTED

This document reflects the exact operational state of the codebase as of September 2026.


1. Verified Completed Baseline (Stages 0 Through 9)

The system has successfully completed and verified all core milestones in MASTER_TASK.md and ARCHITECTURE.md (171 automated tests passing):

StageMilestoneStatusKey Verifications
Stage 0Architecture StabilizationIMPLEMENTEDStrict architectural invariants established; single-schema multi-tenancy enforced.
Stage 1Tenancy & Domain ResolutionIMPLEMENTEDTenantResolutionMiddleware deriving tenant from HTTP Host; TenantDomain mapping.
Stage 2Authentication & IdentityIMPLEMENTEDDRF Token Authentication; StaffMembership binding staff to tenant.
Stage 3RBAC, Roles & PermissionsIMPLEMENTEDDynamic role permissions, IsTenantMember, and HasPermissionScope.
Stage 4Celery + Redis ConcurrencyIMPLEMENTEDRedis message broker, distributed locks (distributed_lock), daily expiry task.
Stage 5Payments & Webhook PipelineIMPLEMENTEDbKash/Nagad SMS webhook parsing, signature verification, InboundPaymentEvent state machine.
Stage 6Finance & Ledger IntegrityIMPLEMENTEDDouble-entry LedgerEntry journal, BillingAccount, IdempotencyKey headers.
Stage 7Network Operations (MikroTik & OLT)IMPLEMENTEDMikroTik ROSv7 REST/socket adapter, PPPoE provisioning, optical power telemetry.
Stage 8Multi-Tenant SaaS Control PlaneIMPLEMENTEDTenant onboarding requests, package subscriptions, automated database backup tasks.
Stage 9Finance & Billing CompletionIMPLEMENTEDItemized invoice lines, advance auto-settlement, non-destructive recharge reversal, financial summary & recalculation, async batch billing, and post-commit durable network sync (NetworkSyncJob).
Stage 10Customer Self-Care Portal & bKash GatewayIMPLEMENTEDCustomer OTP/JWT authentication, live session diagnostics, itemized invoices, support tickets & replies, bKash Tokenized Checkout (v1.2.0-beta), bKash PayBill Biller API, and Manual MFS Android Forwarder webhook.
Stage 11Network Operations CockpitIMPLEMENTEDHigh-level ISP operator cockpit: Router/OLT health overviews, online/offline customer metrics, active PPPoE session bandwidth tracking, optical power histogram, and subscriber diagnostic interventions (disconnect, sync_profile, reboot_onu).
Stage 12MikroTik PPPoE ReconciliationIMPLEMENTEDBidirectional audit and synchronization pipeline between ERP customers/packages and actual MikroTik RouterOS PPPoE secrets (MATCHED, MISSING_IN_ROUTER, UNKNOWN_IN_ERP, PROFILE_MISMATCH, STATUS_MISMATCH, ROUTER_MISMATCH, ERROR), with safe synchronization actions and distributed concurrency locking.
Stage 13Network Action Queue & Bulk OperationsIMPLEMENTEDDurable first-class network action queue (PENDING, PROCESSING, SUCCESS, FAILED, RETRYING, CANCELLED), distributed locking, idempotency keys, and 7-step bulk workflow pipeline (Select -> Validate -> Preview -> Confirm -> Queue -> Execute -> Results).
Stage 14Live Sessions + Traffic & Geographical TopologyIMPLEMENTEDRealtime PPPoE session visibility, short-lived Redis caching (10-15s TTL), throughput rates (RX/TX Mbps), active session termination via MikroTik backend service, historical session auditing in PostgreSQL (UserSessionHistory), multi-tier network topology hierarchy, GeoJSON geographical fiber corridor map, and blast-radius Path & Impact Analysis.
Stage 15OLT/ONU Operations & ReconciliationIMPLEMENTEDFull optical operations dashboard, live PON/ONU inventory, optical RX/TX telemetry with alert thresholds, remote ONU reboot, OLT ↔ ERP reconciliation audit (MATCHED, MISSING_IN_OLT, UNKNOWN_IN_ERP, BINDING_MISMATCH, OPTICAL_ALARM), dry-run ONU auto-matching engine, and safe one-click customer-to-ONU binding.

2. Partially Implemented Features (PARTIAL)

  • Automated OLT Auto-Provisioning: While OLT client telemetry, optical signal polling, and manual ONU reboot are implemented, automated zero-touch provisioning of unconfigured ONUs currently requires manual confirmation in /olt.
  • Advanced Traffic Shaping: MikroTik Simple Queues and PPPoE Profile rate-limiting are fully implemented. Dynamic PCQ burst queuing is partially implemented.

3. Planned Features (PLANNED)

  • Radius Server Integration: FreeRADIUS integration as an alternative BNG authentication backend to native RouterOS API polling.
  • Automated Direct Payment Gateways: bKash Tokenized Checkout and Nagad Direct Merchant API integration alongside the existing SMS webhook pipeline.
  • Mobile Technician App: Lightweight PWA / Flutter client for field technicians.

4. Technical Debt & Known Limitations

  1. Local Domain Emulation: Because tenancy is server-derived from HTTP Host, testing multi-tenancy locally requires configuring local domains or setting /etc/hosts mappings (e.g. tenant1.localhost:3000).
  2. PostgreSQL Migration Duration at High Volume: In production databases with over 10 million ledger entries, adding unindexed foreign keys requires CONCURRENTLY index builds.

5. Deprecated Features (DEPRECATED)

  • Client-Provided Tenant Headers: Legacy X-Tenant-ID header overrides are deprecated and ignored on mutating backend routes.
  • Mutable Balance Column: Direct updates to Customer.balance are deprecated; all balance modifications must flow through apps.finance.LedgerEntry.

On this page