How duymk123/admin-feature-flag-service works
This repository is a Super Admin control plane for a multi-tenant feature-flag ecosystem. The primary workflow is to authenticate, inspect tenants and master features, grant or revoke tenant entitlements, and apply configuration to the tenant’s feature-flag service; audit history supports operational review. The graph also retains dashboard and tenant administration capabilities. Frontend relationships are supported by excerpts or the SOURCE INDEX; backend internals are mostly unsampled, so uncertain controller/service and persistence links are omitted. Cross-service synchronization is documented in the README.
Main entry points: controller REST API · App.jsx Portal App · api API Modules · repository JPA Repositories
Components 21
Admin Portal
- Portal App
Frontend/src/App.jsx - Session Context
Frontend/src/context/AuthContext.jsx - Login Page
Frontend/src/pages/LoginPage.jsx - Dashboard
Frontend/src/pages/DashboardPage.jsx - Tenant Admin
Frontend/src/pages/TenantsPage.jsx - Grant Manager
Frontend/src/components/tenant/TenantGrantModal.jsx - Audit Viewer
Frontend/src/pages/AuditLogsPage.jsx - API Modules
Frontend/src/api - HTTP Client
Frontend/src/api/client.js
Control Plane API
- REST API
src/main/java/com/example/adminfeatureflagservice/controller - Authentication
src/main/java/com/example/adminfeatureflagservice/service/impl/AuthServiceImpl.java - Tenant Routing
src/main/java/com/example/adminfeatureflagservice/client/FeatureFlagServiceClient.java
Entitlements and Audit
- Tenant Management
src/main/java/com/example/adminfeatureflagservice/service/impl/TenantServiceImpl.java - Master Features
src/main/java/com/example/adminfeatureflagservice/service/impl/MasterFeatureServiceImpl.java - Tenant Grants
src/main/java/com/example/adminfeatureflagservice/service/impl/TenantGrantServiceImpl.java - Remote Apply
src/main/java/com/example/adminfeatureflagservice/service/impl/SyncServiceImpl.java - Audit Trail
src/main/java/com/example/adminfeatureflagservice/service/impl/AuditLogServiceImpl.java
Persistent State
- JPA Repositories
src/main/java/com/example/adminfeatureflagservice/repository - Admin Database
data/schema.sql
Other components
- Super Admin
- Tenant Flag Service
Connections 28
- Super Admin → Portal App: uses
- Portal App → Session Context: checks session
Frontend/src/App.jsx - Portal App → Login Page: shows signed out
Frontend/src/App.jsx - Portal App → Dashboard: renders
Frontend/src/App.jsx - Portal App → Tenant Admin: renders
Frontend/src/App.jsx - Portal App → Audit Viewer: renders
Frontend/src/App.jsx - Login Page → Session Context: signs in
Frontend/src/pages/LoginPage.jsx - Session Context → API Modules: requests login
Frontend/src/context/AuthContext.jsx - Dashboard → API Modules: loads summaries
Frontend/src/pages/DashboardPage.jsx - Tenant Admin → Grant Manager: opens grants
Frontend/src/pages/TenantsPage.jsx - Tenant Admin → API Modules: manages tenants
Frontend/src/pages/TenantsPage.jsx - Grant Manager → API Modules: updates grants
Frontend/src/components/tenant/TenantGrantModal.jsx - Audit Viewer → API Modules: loads audit
Frontend/src/pages/AuditLogsPage.jsx - API Modules → HTTP Client: issues requests
Frontend/src/api/grantApi.js - HTTP Client → REST API: calls REST API
- REST API → Authentication: authenticates
- REST API → Tenant Management: handles tenants
- REST API → Master Features: handles catalog
- REST API → Tenant Grants: handles entitlements
- REST API → Remote Apply: triggers apply
- REST API → Audit Trail: serves audit
- Remote Apply → Tenant Routing: resolves tenant
- Tenant Routing → Tenant Flag Service: sends REST sync
README.md - Tenant Management → JPA Repositories: persists tenant data
- Master Features → JPA Repositories: persists catalog
- Tenant Grants → JPA Repositories: persists grants
- Audit Trail → JPA Repositories: persists events
- JPA Repositories → Admin Database: stores records