40 lines
874 B
Markdown
40 lines
874 B
Markdown
# Metamorph backend
|
|
|
|
Flask 3 API. See repo root `README.md` for the big picture.
|
|
|
|
## Layout
|
|
|
|
```
|
|
app/
|
|
├── api/ # HTTP layer (blueprints), versioned under /api/v1
|
|
├── core/ # config (env-driven), structured logging
|
|
├── db/ # SQLAlchemy session + Alembic (M1+)
|
|
├── models/ # ORM models (M1+)
|
|
├── services/ # domain logic (M2+)
|
|
└── i18n/ # message catalogs (M13)
|
|
tests/ # pytest
|
|
```
|
|
|
|
## Local dev
|
|
|
|
Requires [uv](https://github.com/astral-sh/uv) and a reachable Postgres (M1+; not needed yet for `/health`).
|
|
|
|
```bash
|
|
uv sync # install deps from pyproject.toml
|
|
uv run flask --app app.main run --debug --port 8000
|
|
curl http://localhost:8000/api/v1/health
|
|
```
|
|
|
|
## Tests
|
|
|
|
```bash
|
|
uv run pytest
|
|
```
|
|
|
|
## Lint
|
|
|
|
```bash
|
|
uv run ruff check .
|
|
uv run ruff format .
|
|
```
|