TacticX is an analytical intelligence platform designed for comprehensive football match modeling, simulated scenario evidence (MiroFish), and market consensus analysis. It does not execute bets, place wagers, calculate stakes, or interact with gambling operators.
Internet / Client
│
▼
┌─────────────────────────┐
│ Nginx (Frontend) │
│ SPA Routing + Static │
│ Port 80 / 443 │
└────────────┬────────────┘
│ Reverse Proxy (/api, /health)
│ (blocks public /metrics)
▼
┌─────────────────────────┐
│ FastAPI Backend │
│ Uvicorn (Non-Root) │
│ RateLimit, Security, │
│ JSON Logs, Metrics │
└──────┬────────────┬─────┘
│ │
SQLAlchemy ▼ ▼ Redis Client
┌─────────────────┐ ┌─────────────────┐
│ PostgreSQL │ │ Redis │
│ Migrations │ │ Cache / Broker │
│ Port 5432 │ │ Port 6379 │
└─────────────────┘ └─────────────────┘
▲
│ alembic upgrade head
┌─────────────────┐
│ Migration │
│ Job/Service │
└─────────────────┘
- Phase 17: Canonical Match Intelligence API — READY
- Phase 18: Current-Season Acquisition — READY
- Phase 19: Provider Qualification Framework — READY
- Phase 20: Production Scheduler — READY
- Phase 21: Match Intelligence Dashboard & Product UI — READY
- Phase 22: Production Deployment, Observability & Reliability — READY
cp .env.example .env
# Edit .env to set your database passwords and secure SECRET_KEYMigrations run via a dedicated migration runner to prevent multi-replica startup races:
docker compose -f docker-compose.prod.yml run --rm migrationdocker compose -f docker-compose.prod.yml up -d- Process Liveness:
curl -i http://localhost/health/live - Dependency Readiness:
curl -i http://localhost/health/ready - Prometheus Metrics (Internal):
curl -i http://127.0.0.1:8000/metrics - Web UI: Visit
http://localhost/in your browser
- PHASE22_REPORT.md: Engineering acceptance report, benchmark results, and verification logs.
- PHASE22_DEPLOYMENT.md: Production deployment guide, migration lifecycle, and rolling update procedures.
- PHASE22_OPERATIONS.md: Runbook for health monitoring, log aggregation, and metrics scraping.
- PHASE22_SECURITY.md: Security architecture, non-root containers, CSP, and rate limiting mechanics.
- PHASE21_REPORT.md: Frontend dashboard report and integration notes.
- PHASE21_UI_ARCHITECTURE.md: Frontend technical design and component architecture.
cd backend
DATABASE_URL="sqlite:///./test.db" .venv/bin/pytest -qCurrent baseline: 599 passed / 1 intentional skip / 0 failed
cd frontend
npm test
npm run buildCurrent baseline: 19 passed / 0 failed, clean Vite build
./scripts/verify_backup_restore.shAutomated 5-step verification: backup -> disposable Postgres DB -> restore -> 100% integrity validation.