# Vyryi API FastAPI backend for the Vyryi Telegram Mini App casino MVP. ## Stack - FastAPI + SQLAlchemy 2 (`create_engine`, sync `Session`) - SQLite locally, PostgreSQL in production (`DATABASE_URL`) - Alembic migrations - JWT auth (`/auth/dev-login` for local work) - Managed with [uv](https://github.com/astral-sh/uv) ## Quick start ```bash cd vyryi-back copy .env.example .env uv sync uv run uvicorn app.main:app --reload --port 8000 ``` API docs: http://127.0.0.1:8000/docs ## Main endpoints - `POST /auth/dev-login` — local JWT login - `POST /auth/telegram` — stub (501 until `BOT_TOKEN`) - `GET /me`, `POST /me/agreement` - `GET /wallet`, `POST /wallet/deposit` (amounts: 100 / 500 / 1000) - `GET /games`, `GET /games/{slug}` - `POST /games/{slug}/spin` — bet + spin_count (1…1000); Forest Fortune is playable No withdrawal endpoints by design. ## Production DB Set: ``` DATABASE_URL=postgresql+psycopg2://user:pass@host:5432/vyryi ``` Then run: ```bash uv run alembic upgrade head ```