AI-assisted Swertres / 3D Lotto companion: React Native (Expo) + FastAPI + PostgreSQL.
- Free predictions: XGBoost + Markov (no LLM).
- Premium: Miro-style LLM synthesis + council layer (requires API key and entitlement).
cd backend
python -m venv .venv
.\.venv\Scripts\activate # Windows
pip install -r requirements.txt
copy .env.example .env # then edit DATABASE_URL, SECRET_KEY, etc.
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000Run migrations (PostgreSQL):
cd backend
alembic upgrade headTests default to SQLite via tests/conftest.py so CI does not require Postgres.
cd mobile
npm install
npx expo startSet EXPO_PUBLIC_API_URL in mobile/.env (see mobile/.env.example) to your backend URL.
cd backend && pytest
cd mobile && npm test- Backend: backend/Dockerfile and backend/cloudbuild.yaml for Cloud Run; set env vars (
DATABASE_URL,SECRET_KEY,LLM_API_KEY,ADMIN_API_KEY, PayPalPAYPAL_CLIENT_ID/PAYPAL_CLIENT_SECRET, return URLs). - Mobile: use EAS Build or Fastlane under mobile/fastlane after app signing is configured.