feat: establish frontend foundation
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# Frontend
|
||||
|
||||
## Назначение
|
||||
|
||||
React/Vite-клиент WealthLedger. Функциональные изменения сначала планируются в `../specs/openspec`; контракт API задает backend OpenAPI, а не ручные DTO.
|
||||
|
||||
## Проверка
|
||||
|
||||
```bash
|
||||
npm run lint
|
||||
npm run typecheck
|
||||
npm run test:run
|
||||
npm run build
|
||||
npm run check:no-todo
|
||||
```
|
||||
|
||||
`npm run openapi:generate` получает документ работающего backend по `${VITE_API_BASE_URL:-http://localhost:3000}/api/docs-json`; фактическая генерация выполняется только в задаче 5.1. `build` выполняет `tsc -b`.
|
||||
|
||||
## Границы
|
||||
|
||||
- Текущий baseline использует FSD, React Router, i18n, Mantine, React Query и typed API scaffold.
|
||||
- Зависимости FSD идут `app -> pages -> features -> entities -> shared`; слайсы импортируются только через публичный `index.ts`.
|
||||
- HTTP идет через типизированный клиент, сгенерированный из OpenAPI; UI-строки - только через i18n. Каждый маршрут имеет loading, error и empty состояния.
|
||||
- Соблюдать strict TypeScript: `import type` для типов, без `enum` и `namespace`.
|
||||
- Не добавлять прямые вызовы T-Bank и не переносить Todo-код из `../references/`.
|
||||
Reference in New Issue
Block a user