28 lines
876 B
Markdown
28 lines
876 B
Markdown
# 2026-09-13 — API + веб-кабинет для бюджетов и трат
|
|
|
|
## Запрос
|
|
Сделать API и фронт для просмотра бюджетов и трат.
|
|
|
|
## Сделано
|
|
### API (`api/`)
|
|
- FastAPI, тот же SQLite (`data/budget.db`, WAL)
|
|
- `GET /api/health` без токена
|
|
- `GET /api/budgets`, `/api/budgets/{user_id}`, `/api/budgets/{user_id}/expenses`
|
|
- Auth: `X-API-Token` / Bearer `API_TOKEN`
|
|
|
|
### Web (`web/`)
|
|
- React + Vite + React Router
|
|
- Список бюджетов, деталка со статусом и постраничными тратами
|
|
- Токен в localStorage
|
|
|
|
### Docker
|
|
- `Dockerfile.api` (multi-stage: npm build + uvicorn)
|
|
- `docker-compose.yml`: сервисы `bot` + `web` (:8000)
|
|
|
|
## Запуск
|
|
```bash
|
|
# .env: API_TOKEN=...
|
|
docker compose up -d --build
|
|
# кабинет: http://HOST:8000
|
|
```
|