# ЭКСА — 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 `/`. 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`).