29 lines
1.2 KiB
Markdown
29 lines
1.2 KiB
Markdown
# ЭКСА — Admin Frontend
|
|
|
|
Standalone admin panel for ЭКСА, extracted from the main `elcsa-gitea2/frontend` app
|
|
into its own microservice. React 19 + Vite, Feature-Sliced Design.
|
|
|
|
## Commands
|
|
|
|
```bash
|
|
npm install # installs deps (lockfile committed)
|
|
npm run dev # dev server on port 3001
|
|
npm run build # tsc -b && vite build
|
|
npm run preview # preview production build
|
|
npm run lint # ESLint
|
|
```
|
|
|
|
## Notes
|
|
|
|
- **Auth is fully independent** of the user app. The admin API lives at
|
|
`https://app.admin.elcsa.ru` (hardcoded in `src/features/admin/api/adminApi.ts`),
|
|
with its own in-memory access token + localStorage-backed refresh token. No CSRF.
|
|
- **Routes** are preserved from the original app: the panel is served under the
|
|
obscured path `/sys-c7f29a4e-d81b-4630-ops-console`. See `src/shared/config/routes.ts`.
|
|
On a dedicated admin host this could be simplified to `/` — left unchanged to
|
|
preserve existing behavior.
|
|
- Path aliases (`@app/*`, `@pages/*`, `@widgets/*`, `@features/*`, `@shared/*`) match
|
|
the FSD layers, same as the parent project.
|
|
- Only the shared UI primitives the admin actually uses were copied
|
|
(`Button`, `FormField`, `Notification`, `PrimaryButton`).
|