47 lines
926 B
Markdown
47 lines
926 B
Markdown
# 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}`
|
|
|
|
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
|
|
```
|