Состав репозитория:
backend: Rust + Axum + SQLitefrontend: TypeScript + React (Vite)
- API доступен по префиксу
/api/*. - В production backend отдает встроенные фронтенд-ассеты.
- В development backend проксирует все не-
/apiзапросы на Vite dev server (включая WebSocket для HMR).
Требования:
- Rust toolchain
- Node.js + npm
cargo-watch(cargo install cargo-watch)
Запуск:
make devОткрывайте приложение через backend:
- UI:
http://127.0.0.1:8080 - healthcheck:
http://127.0.0.1:8080/api/health
Сборка:
make build-prodЗапуск:
make run-prodЕсли не нужно авто-открытие браузера:
APP_MODE=production ./backend/target/release/backend --db ./data/prod.sqlite --dont-launch-browsermake fmt
make lint
make testИсточник правды для API: openapi.yaml в корне репозитория.
Сгенерированные директории (не редактировать вручную):
backend/generated/rust-axumfrontend/src/api/generated
Команды генерации:
make generate-backend-openapi
make generate-frontend-openapi
make generate-openapiИспользуется sqlx::migrate! и SQL-файлы в backend/migrations/.
При старте backend миграции применяются автоматически.