The Super Admin app is the internal TMAG platform administration console. It is intended for trusted platform operators who manage users, companies, plans, credits, AI logs, roles, doctors, ebooks, affiliates, and system configuration.
- React 19 + TypeScript
- Vite
- Tailwind CSS 4
- React Router 7
- TanStack Query
- Zustand
- Axios
- Recharts and Lucide React
bun run dev starts the app on port 3001:
http://localhost:3001/admin
The root path redirects to /admin.
cd super-admin
bun install
cp .env.example .envUpdate .env with local values:
VITE_API_BASE_URL=http://localhost:8080/api
VITE_API_KEY=<same-value-as-backend-APP_API_KEY>Do not commit .env files or real secrets.
| Command | Description |
|---|---|
bun run dev |
Start the development server on port 3001. |
bun run build |
Run TypeScript project build and create the Vite production bundle. |
bun run lint |
Run ESLint. |
bun run preview |
Preview the production build locally. |
All authenticated routes live under /admin:
/admin/dashboardplatform overview./admin/usersand/admin/users/:iduser management./admin/companiesand/admin/companies/:idcompany management./admin/ledgercredit ledger and transactions./admin/ai-logsAI request monitoring./admin/plans,/admin/escalated-plans, and/admin/credit-planstravel and credit plan management./admin/analyticsusage, destination, credit, and revenue analytics./admin/system/status,/admin/system/logs, and/admin/system/settingssystem operations./admin/rolesand/admin/admin-usersaccess control./admin/ebooksebook catalog administration./admin/company-registrations,/admin/doctors, and/admin/affiliatesreview queues and partner management.
super-admin/
├── src/
│ ├── api/ # Axios client, hooks, API types, and endpoint wrappers
│ ├── components/ # Layout, page header, stat cards, and shared UI
│ ├── context/ # Auth context
│ ├── lib/ # Query client, currency helpers, and utilities
│ ├── pages/ # Admin route pages
│ ├── routes/ # React Router setup
│ └── stores/ # Admin auth/data/sidebar stores
├── package.json
└── vite.config.ts
- API base defaults to
http://localhost:8080/api. - Requests send
X-Api-Key: VITE_API_KEY. - Super-admin authentication uses backend routes under
/api/v1/admin/auth/*. - Auth stores the platform admin JWT in the
admin_access_tokencookie. - Non-auth
401or403responses clear the cookie and redirect to/admin.
- Start
spring-serveron port8080with admin auth and a matchingAPP_API_KEY. - Start this app with
bun run dev. - Validate changes with
bun run buildandbun run lint.