myisp

byMd Hossain

MYISP — ISP BILLING & SUBSCRIBER MANAGEMENT PLATFORM Build a complete, production-ready ISP Billing, Subscriber Management, Network Management and Field Service platform named MyISP. The platform should provide functionality comparable to professional ISP management systems such as ISPmate, but must use its own original architecture, database, UI and implementation. Do not copy proprietary source code, branding, or copyrighted designs. 1. PLATFORM OBJECTIVE MyISP is a multi-tenant SaaS platform for Fiber ISPs, Broadband ISPs, WISPs and FTTH operators. It must manage the complete ISP lifecycle: customer registration, KYC, plans, service activation, billing, payments, network authentication, MikroTik, FreeRADIUS, OLT/ONU, IPAM, support tickets, technicians, attendance, inventory, notifications and reports. Build a real working application, not a static prototype or UI mockup. 2. APPLICATIONS Create: Admin Web Panel: Dashboard, subscribers, KYC, plans, services, billing, invoices, payments, collections, network, MikroTik, RADIUS, OLT/ONU, IPAM, tickets, technicians, attendance, inventory, reports and settings. Customer Portal/App: Login, dashboard, current plan, expiry, invoices, payments, receipts, usage, complaints, tickets, notifications and profile. Technician App: Assigned jobs, customer information, navigation, job status, installation/service work, photos, notes, equipment usage, payment collection and customer signature. Super Admin: Manage ISP tenants, platform settings, subscriptions, administrators, global monitoring and audit logs. 3. TECHNOLOGY Use: - React + TypeScript - Tailwind CSS - Node.js + NestJS - PostgreSQL - Redis + BullMQ - REST APIs - WebSockets where useful - Docker/Docker Compose - JWT authentication - Secure password hashing - S3-compatible storage for documents Use a modular architecture so future microservice migration is possible. 4. MULTI-TENANCY & SECURITY Every ISP must be isolated using "tenant_id". Implement secure tenant context and never trust tenant IDs supplied by the frontend. Create roles: SUPER_ADMIN, TENANT_ADMIN, MANAGER, ACCOUNTANT, SUPPORT, TECHNICIAN, COLLECTOR, VIEWER and CUSTOMER. Implement granular permissions such as: "subscriber:create", "subscriber:read", "billing:create", "payment:verify", "ticket:assign", "network:manage". Implement JWT access/refresh tokens, refresh-token rotation, revocation, rate limiting, validation, secure headers, audit logging and encrypted storage for network credentials. Never expose passwords, RADIUS secrets, API keys or database credentials to frontend code. 5. SUBSCRIBER & KYC Create Individual and Business subscribers. Statuses: Lead, Prospect, Active, Suspended, Terminated and Closed. Generate customer numbers such as: "CUST-2026-000001" Store customer details, contact information, addresses, branch, sales person, technician, registration date and service information. KYC must support National ID, Passport, Driving License, Company Registration, signed CAF, address proof and photograph. Include document upload, secure storage, masking, hashing, approval/rejection workflow, rejection reason and audit history. 6. INTERNET PLAN ENGINE Create a professional bandwidth and package engine. Support: Residential, Business, Corporate, Dedicated, Prepaid and Postpaid plans. Plan parameters: Download speed, upload speed, CIR, MIR, MikroTik burst-limit, burst-threshold, burst-time, FUP threshold, FUP speed, validity, monthly price, installation fee, activation fee, deposit, discounts and taxes. Store bandwidth internally as integer Kbps. Support plan upgrade, downgrade, migration, renewal and versioning. 7. BILLING & PAYMENTS Build a real billing engine supporting monthly, prepaid, postpaid, prorated billing, renewals, discounts, taxes, installation charges, activation charges, deposits, late fees, credits, debits, adjustments and refunds. Generate: "INV-2026-000001" for invoices and: "RCT-2026-000001" for receipts. Payment methods: Cash, bank transfer, UPI, card, wallet, payment gateway and manual payment. Maintain a proper customer ledger with verified debit/credit entries. Use background jobs for invoice generation, reminders, expiry, suspension, reactivation, renewals, FUP reset and reconciliation. 8. NETWORK MANAGEMENT Integrate MikroTik RouterOS API and FreeRADIUS. MikroTik features: - Router management - CPU/memory/uptime - PPPoE users - Profiles - Active sessions - Disconnect users - CoA - Queues - Bandwidth profiles - Traffic statistics FreeRADIUS features: - Authentication - Authorization - Accounting - radcheck - radreply - radacct - Session history - Online/offline users - CoA/Disconnect Create NAS management for RADIUS devices. Create OLT/ONU architecture supporting GPON, EPON, XG-PON and XGS-PON. Store OLT, PON, ONU serial, MAC, VLAN, RX/TX power and status. Use an adapter architecture so additional OLT vendors can be added later. 9. IPAM & VLAN Create IP Address Management supporting IPv4, IPv6, public/private IPs, pools, subnets, allocation, reservation and release. Create VLAN management with VLAN ID, name, service type, OLT, router, NAS and status. Prevent duplicate allocations. 10. SERVICE ACTIVATION When a customer purchases a plan: Customer → Service → Username → Password → IP → NAS → VLAN → RADIUS → MikroTik → Activation → Billing → Notification. When an account becomes overdue, automatically notify the customer and suspend the service according to configured grace-period rules. Disconnect active sessions when required. When payment is verified, automatically reactivate the service and restore network access. 11. SUPPORT & FIELD SERVICE Create a ticketing system with ticket numbers such as: "TKT-2026-000001" Support priorities: Low, Medium, High, Critical. Statuses: Open, Assigned, In Progress, On Hold, Resolved, Closed. Create field jobs for installation, fiber repair, ONU/router replacement, no internet, slow speed, relocation, upgrade and maintenance. Technician workflow: Assigned → Accepted → En Route → On Site → Work Started → Completed → Verified → Closed. Allow photos, notes, GPS, parts used, payment collection and customer signature. 12. INVENTORY & ATTENDANCE Inventory must track ONU, routers, switches, fiber, connectors, SFPs, adapters, tools and other equipment. Track purchase, stock, warehouse, branch, technician stock, issue, return, damaged/lost items and serial/MAC numbers. Attendance must support check-in, check-out, GPS, field duty, leave, late arrival and overtime. 13. DASHBOARD & REPORTS Create a professional dashboard showing: Total customers, active/suspended customers, new customers, today's collection, monthly revenue, outstanding amount, tickets, technicians, online PPPoE users, routers, OLTs and network alerts. Reports: Subscribers, billing, invoices, payments, collections, outstanding, revenue, expenses, plans, renewals, suspensions, PPPoE sessions, bandwidth, tickets, technicians, attendance, inventory and network. Support filters and CSV/Excel/PDF exports. 14. DATABASE Use PostgreSQL with UUID primary keys and proper relationships. Core tables: tenants, branches, users, roles, permissions, customers, addresses, kyc_documents, internet_plans, plan_versions, services, invoices, invoice_items, payments, customer_ledger, routers, radius_accounts, radius_sessions, nas_devices, olts, onus, vlans, ip_pools, ip_addresses, tickets, ticket_comments, field_jobs, technicians, attendance, inventory, notifications and audit_logs. Add indexes, foreign keys, constraints and timestamps. 15. DEVELOPMENT RULE Build in phases. Start with: Phase 1 — Foundation, database, authentication, multi-tenancy, RBAC and basic dashboard. Do not create fake functionality. Inspect existing code before modifying it. Never delete working features. Connect every UI feature to real APIs and database records. For every phase: build database → backend APIs → permissions → frontend → validation → audit logging → tests → build verification. A phase is complete only when the application builds successfully, APIs work, tenant isolation is verified, security checks pass and there are no major errors. Finally, deploy MyISP as a scalable, secure and professional ISP management platform suitable for real ISP operations.

Dashboard
Dashboard

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 9

System Requirements Document for myisp

1. Introduction

MyISP is a comprehensive, production-ready ISP Billing, Subscriber Management, Network Management, and Field Service platform. It is designed as a multi-tenant SaaS platform for Fiber ISPs, Broadband ISPs, WISPs, and FTTH operators. The platform aims to manage the complete ISP lifecycle, including customer registration, KYC, plans, service activation, billing, payments, network authentication, support tickets, technicians, attendance, inventory, notifications, and reports. The target audience includes network administrators and technical users who require a precise, functional, and efficient management system.

2. System Overview

MyISP is a modular platform built using React, TypeScript, Node.js, and PostgreSQL, among other technologies. It supports multi-tenancy and provides secure, isolated environments for each ISP tenant. The platform includes an Admin Web Panel, Customer Portal/App, Technician App, and Super Admin interface, each tailored to specific user roles and responsibilities. The system emphasizes security, with robust authentication and authorization mechanisms, and aims to deliver a scalable and professional ISP management solution.

Page 2 of 9

2a. Product Interpretation and Delivery Boundary

MyISP is delivered as a SaaS platform with a modular architecture to facilitate future microservice migration. It supports multi-tenancy, ensuring each ISP tenant operates within a secure, isolated environment. The platform's delivery includes a comprehensive set of applications and tools for managing ISP operations, with a focus on security, scalability, and professional-grade functionality. The platform does not include proprietary source code, branding, or designs from existing ISP management systems.

2b. Source Content Inventory

Not applicable as there is no explicit content_source directive.

2c. Page Content and Component Coverage

Admin Web Panel

  • Dashboard: Displays total customers, active/suspended customers, new customers, today's collection, monthly revenue, outstanding amount, tickets, technicians, online PPPoE users, routers, OLTs, and network alerts.
  • Subscribers: Manage subscriber information, statuses, and KYC documents.
  • KYC: Document upload, secure storage, approval/rejection workflow.
  • Plans and Services: Internet plan engine with support for various plan types and parameters.
  • Billing and Invoices: Real billing engine with support for multiple billing types and payment methods.
  • Network Management: Integration with MikroTik and FreeRADIUS, NAS management, OLT/ONU architecture.
  • Tickets and Technicians: Ticketing system with priorities and statuses, technician workflow management.
  • Inventory and Attendance: Track equipment and technician attendance.
  • Reports: Generate and export various reports in CSV/Excel/PDF formats.
  • Settings: Manage platform settings and configurations.
Page 3 of 9

Customer Portal/App

  • Login and Dashboard: Access to current plan, expiry, invoices, payments, receipts, and usage.
  • Complaints and Tickets: Submit and track complaints and tickets.
  • Notifications and Profile: View notifications and manage profile information.

Technician App

  • Assigned Jobs: View and manage assigned jobs with customer information and navigation.
  • Job Status: Update job status and collect customer signatures.
  • Equipment Usage: Record equipment usage and payment collection.

Super Admin

  • Manage ISP Tenants: Oversee platform settings, subscriptions, administrators, and audit logs.
  • Global Monitoring: Monitor platform-wide activities and performance.

3. Functional Requirements

  • As a SUPER_ADMIN, I should be able to manage ISP tenants, platform settings, subscriptions, administrators, and view global monitoring and audit logs. (explicit)
  • As a TENANT_ADMIN, I should be able to manage subscribers, KYC, plans, services, billing, network, tickets, technicians, inventory, and generate reports. (explicit)
  • As a CUSTOMER, I should be able to log in, view my dashboard, current plan, expiry, invoices, payments, receipts, usage, submit complaints, tickets, and manage my profile. (explicit)
  • As a TECHNICIAN, I should be able to view assigned jobs, update job status, collect customer signatures, and record equipment usage. (explicit)
  • As a MANAGER, I should be able to oversee operations, manage staff, and ensure service quality. (explicit)
  • As an ACCOUNTANT, I should be able to manage billing, payments, and financial reports. (explicit)
  • As a SUPPORT, I should be able to handle customer tickets and provide resolutions. (explicit)
  • As a COLLECTOR, I should be able to manage payment collections and update records. (explicit)
  • As a VIEWER, I should be able to view reports and dashboards without making changes. (explicit)
Page 4 of 9

4. User Personas

  • SUPER_ADMIN: Manages ISP tenants, platform settings, and global monitoring.
  • TENANT_ADMIN: Oversees tenant-specific operations, including subscribers, billing, and network management.
  • CUSTOMER: Interacts with the platform to manage their subscription, view usage, and submit tickets.
  • TECHNICIAN: Handles field service jobs, updates job status, and collects signatures.
  • MANAGER: Supervises operations and ensures service quality.
  • ACCOUNTANT: Manages financial aspects, including billing and payments.
  • SUPPORT: Provides customer support and resolves tickets.
  • COLLECTOR: Manages payment collections.
  • VIEWER: Accesses reports and dashboards for informational purposes.

5. Core User Flows

SUPER_ADMIN

  1. Log in to the Super Admin interface.
  2. Manage ISP tenants and platform settings.
  3. Monitor global activities and audit logs.
  4. Log out.

TENANT_ADMIN

  1. Log in to the Admin Web Panel.
  2. Manage subscribers, KYC, and internet plans.
  3. Oversee billing, payments, and network management.
  4. Generate and export reports.
  5. Log out.
Page 5 of 9

CUSTOMER

  1. Log in to the Customer Portal/App.
  2. View dashboard and current plan details.
  3. Submit complaints or tickets.
  4. Manage profile information.
  5. Log out.

TECHNICIAN

  1. Log in to the Technician App.
  2. View and accept assigned jobs.
  3. Update job status and collect customer signatures.
  4. Record equipment usage.
  5. Log out.

MANAGER

  1. Log in to the Admin Web Panel.
  2. Oversee operations and manage staff.
  3. Ensure service quality and resolve issues.
  4. Log out.

ACCOUNTANT

  1. Log in to the Admin Web Panel.
  2. Manage billing and payments.
  3. Generate financial reports.
  4. Log out.
Page 6 of 9

SUPPORT

  1. Log in to the Admin Web Panel.
  2. Handle customer tickets and provide resolutions.
  3. Update ticket statuses.
  4. Log out.

COLLECTOR

  1. Log in to the Admin Web Panel.
  2. Manage payment collections.
  3. Update payment records.
  4. Log out.

VIEWER

  1. Log in to the Admin Web Panel.
  2. Access reports and dashboards.
  3. Log out.
Page 7 of 9

6. Visuals Colors and Theme

  • Muse: Dieter Rams
  • Palette:
    • Background: #F5F5F5
    • Surface: #FFFFFF
    • Text: #333333
    • Primary: #FFAA00
    • Accent: #007700
    • Muted: #CCCCCC
  • Typography:
    • Headings: DM Sans — Medium weight, tight tracking, all-caps labels
    • Body: Work Sans
    • Scale: 1.25 modular, 48/32/24/18/14
  • Shape Language: Rounded-rectangle controls with strict grid alignment
  • Layout: Dense but ordered modular grid with aligned label/value pairs
  • Motion: Instant, mechanical feedback with no flourish

7. Signature Design Concept

The public entry of MyISP features a large, grid-aligned headline in DM Sans over a muted warm grey background, with a single orange accent for the call-to-action. The design emphasizes clarity and functionality, aligning with Dieter Rams' philosophy of 'less, but better.' Rounded-rectangle controls and a dense but ordered grid layout are used for dashboard elements, with diagrammatic line art for technical illustrations.

Page 8 of 9

8. Interaction Model & Motion Direction

  • Interaction Model: Static
  • Motion Tempo: Restrained
  • Hero Dimensionality: Flat
  • Landing Hero Motion Brief: The hero section features a composed layout with a large headline in DM Sans, using the signal accent color sparingly for key actions. The design provides instant, mechanical feedback with no flourish, ensuring a professional and efficient user experience.

9. Non-Functional Requirements

  • Security: Implement JWT access/refresh tokens, secure password hashing, and encrypted storage for network credentials. Ensure tenant isolation and secure tenant context.
  • Scalability: Design the platform with a modular architecture to support future microservice migration.
  • Performance: Optimize the platform for fast load times and efficient data processing.
  • Reliability: Ensure high availability and fault tolerance through robust infrastructure and backup mechanisms.

10. Tech Stack

  • Frontend: React + TypeScript, Tailwind CSS
  • Backend: Node.js + NestJS
  • Database: PostgreSQL
  • Caching and Queue: Redis + BullMQ
  • APIs: REST APIs, WebSockets
  • Containerization: Docker/Docker Compose
  • Authentication: JWT authentication
  • Storage: S3-compatible storage for documents
Page 9 of 9

11. Assumptions and Constraints

  • The platform will be developed in phases, starting with the foundation, database, authentication, multi-tenancy, RBAC, and basic dashboard.
  • The system will not include any proprietary source code, branding, or designs from existing ISP management systems.
  • Tenant isolation and security are critical components and must be thoroughly tested and verified.

12. Glossary

  • ISP: Internet Service Provider
  • KYC: Know Your Customer
  • MikroTik: A brand of network equipment
  • FreeRADIUS: An open-source RADIUS server
  • OLT/ONU: Optical Line Terminal/Optical Network Unit
  • IPAM: IP Address Management
  • VLAN: Virtual Local Area Network
  • NAS: Network Access Server
  • PPPoE: Point-to-Point Protocol over Ethernet
  • FUP: Fair Usage Policy
  • JWT: JSON Web Token
  • RBAC: Role-Based Access Control
Dashboard design preview
Dashboard: Sign in
Billing and Invoices: Manage billing
Billing and Invoices: Process payments
Reports: Generate financial reports
Dashboard: Log out
Dashboard design preview
Dashboard: Sign in
Billing and Invoices: Manage billing
Billing and Invoices: Process payments
Reports: Generate financial reports
Dashboard: Log out