- Introduced a new `spin_sessions` table to track user spin activities. - Updated the API to include a new endpoint for spinning games, allowing users to place bets and specify spin counts. - Enhanced game information structure and added validation for bets and spin counts. - Implemented the `Forest Fortune` slot game mechanics, including payline evaluation and scatter functionality. - Updated dependencies in `pyproject.toml` for development and added `httpx` for HTTP requests. - Added unit tests for the new slot mechanics and API endpoints to ensure functionality and reliability.
1014 B
1014 B
Vyryi API
FastAPI backend for the Vyryi Telegram Mini App casino MVP.
Stack
- FastAPI + SQLAlchemy 2 (
create_engine, syncSession) - SQLite locally, PostgreSQL in production (
DATABASE_URL) - Alembic migrations
- JWT auth (
/auth/dev-loginfor local work) - Managed with uv
Quick start
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 loginPOST /auth/telegram— stub (501 untilBOT_TOKEN)GET /me,POST /me/agreementGET /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:
uv run alembic upgrade head