Skip to main content

Admin Dashboard — Service Overview

Status: populated Owner: Platform Engineering (Frontend) Last updated: 2026-04-18 Companion: DOMAIN_MODEL · API_CONTRACTS · SYNC_CONTRACT · SECURITY_MODEL

1. Purpose

admin-dashboard is the internal web application for Ghasi-SMS-Gateway platform administrators. It provides real-time operational visibility, SMPP operator CRUD, routing rule management, cross-tenant message log inspection, billing oversight, user management, and system health monitoring.

The dashboard is a stateless Next.js 14+ frontend deployed as a Docker container. All data lives in backend services accessed via Kong admin routes. Direct database access is strictly prohibited from this service.

2. Bounded Context

Platform Operations — internal tooling for Ghasi staff. Not accessible to customers. Operates with elevated permissions via the admin Firebase custom claim.

3. Responsibilities

AreaWhat admin-dashboard owns
Real-time dashboard30s-polled metric summary; throughput chart (24h hourly); delivery breakdown pie chart; top-5 operators table; alert banners
Operator managementFull CRUD for SMPP operators via operator-management-service
Routing rulesView and manage routing rule configuration
Message logsCross-tenant, searchable, filterable message log inspection
Billing oversightPlatform-wide pricing configuration; per-tenant invoice review
User managementList, create, suspend, delete platform users and tenant accounts
System healthService health indicators for all platform microservices
SettingsPlatform configuration (rate limits, feature flags, notification templates)

4. Non-Responsibilities

AreaOwner
Customer-facing self-servicecustomer-portal
JWT issuance + JWKSauth-service
SMS routing executionrouting-engine
SMPP connection managementsmpp-connector
Billing calculationbilling-service

5. Key Flows

Login

  1. Admin navigates to /login.
  2. Firebase Auth signs in; returns Firebase ID token.
  3. Portal calls GET /v1/internal/auth/me through Kong admin routes to verify admin custom claim.
  4. Platform JWT stored in httpOnly; Secure; SameSite=Strict encrypted cookie.
  5. Middleware enforces admin claim on all protected routes.

Real-Time Dashboard (/dashboard)

  1. Page renders initial data server-side (first load fast).
  2. Client-side polling every 30 seconds calls /api/metrics BFF endpoint.
  3. Throughput chart updated in-place with recharts/chart.js.
  4. Delivery breakdown pie chart updated.
  5. Top-5 operators table refreshed.
  6. Alert banners appear if any service health check returns non-green.

Operator CRUD

  1. Admin navigates to /operators.
  2. Server component lists all SMPP operators via operator-management-service.
  3. Create/Edit modal collects operator config (host, port, credentials, throughput limits).
  4. DELETE with confirmation dialog.

6. Dependencies

DependencyPurpose
Firebase Auth (client SDK)Admin sign-in
Kong Admin RoutesEdge authentication + routing to backend services
auth-serviceadmin claim verification; user management
analytics-serviceSummary, throughput, delivery-breakdown metrics
operator-management-serviceSMPP operator CRUD
routing-engineRouting rule read/write
billing-servicePer-tenant billing data, pricing configuration
notification-servicePlatform notification template management

7. Access Control

This application is restricted to staff with the Firebase admin custom claim. It is not publicly accessible — deployed at an internal subdomain (admin.internal.ghasi.io) protected by Cloudflare Access (identity-aware proxy) as an additional authentication layer.

8. Status

Active development — dashboard and operator management targeted for internal alpha.