/match-made/
├── services/
│ ├── user-service/
│ ├── game-service/
│ ├── auth-service/
│ ├── matchmaking-service/
│ ├── feedback-service/
│ ├── notification-service/
│ └── analytics-service/
├── common/ # Shared libs (e.g., JWT, event schemas)
├── deploy/
│ ├── docker-compose.yml
│ └── k8s/ (future)
├── scripts/ # Local dev bootstrap, seeders, tests
├── docs/ # OpenAPI specs, architecture diagrams
├── Makefile # Dev commands
└── .github/workflows/ # CI/CD
| Layer | Tool |
|---|---|
| Backend | Python 3.11 + FastAPI + SQLModel |
| Queue | NATS |
| DB | PostgreSQL + Redis |
| Auth | JWT (PyJWT) |
| Mobile | React Native (Expo) |
| DevOps | Docker + GitHub Actions |
| Messaging | Pydantic-defined event contracts |
| API Contracts | OpenAPI 3.0 (per service) |
Each service has:
/app folder with:
main.pyapi/routes.pymodels.pycore/config.pyevents/publisher.py/common)jwt_utils.pyevent_bus.pyschemas/ (Pydantic event contracts)