✅ Modules


| User I • Login via Steam • Party system (Friend, ready-up, party) • Match info and status screen | Lobby Service • Create/Join lobby (party) • Lobby chat • Ready-up | | --- | --- | | Matchmaking • Accept players in queue management • ELO-based pairing • Map selection - Pick ban system Group 10 players → emit MatchCreated | Server Allocator • Assign game server • Push config (RCON, map) • Provide secure connect info | | Steam Auth • OpenID login • Bind SteamID64 • Verify join identity later | Match Service • Store match data • API for current match info |

✅ Development


Phase 1: Minimum Viable Product ( ETA-tbd )

Phase 1.2 ini

📊 Visual Architecture (High-Level Microservices View)

                   ┌────────────────────┐
                   │     Web Client     │◄────────────┐
                   └────────────────────┘             │
                            ▲                         │
                            │                         │
                     WebSockets/REST                  │
                            │                         ▼
                   ┌────────────────────┐       ┌────────────┐
                   │  API Gateway/Router│◄──────► Auth Service│
                   └────────────────────┘       └────────────┘
                            │
                            ▼
┌────────────────────────────────────────────────────────────────────┐
│                              Backend Core                          │
│                                                                    │
│  ┌────────────┐   ┌────────────┐   ┌────────────┐   ┌───────────┐  │
│  │ Matchmaking│   │ Match Svc  │   │ Lobby Svc  │   │ ELO Rating│  │
│  └────────────┘   └────────────┘   └────────────┘   └───────────┘  │
│     ▲          ┌────────────┐   ┌────────────┐   ┌────────────┐    │
│     │          │ Tournament │   │ User Svc   │   │ Leaderboard│    │
│     ▼          └────────────┘   └────────────┘   └────────────┘    │
│                       ▲                ▲               ▲           │
│                       │                │               │           │
│                 ┌────────────┐   ┌────────────┐   ┌────────────┐   │
│                 │ Anti-Cheat │   │ Notification│  │ Replay Svc │   │
│                 └────────────┘   └────────────┘   └────────────┘   │
└────────────────────────────────────────────────────────────────────┘
                            │
                            ▼
             ┌────────────────────────────┐
             │  CS2 Game Server / Agent   │
             └────────────────────────────┘
                            │
                            ▼
                ┌────────────────────┐
                │ Storage (Replays,  │
                │ Logs, Stats, etc)  │
                └────────────────────┘

| Service                | Description                                   |
| ---------------------- | --------------------------------------------- |
| **Auth Service**       | Login, OAuth, 2FA, JWT                        |
| **User Service**       | Profile, avatars, preferences                 |
| **Lobby Service**      | Pre-match chat, party, ready-up               |
| **Matchmaking**        | Queue management, Pick/ban, ELO-based pairing
| **Match Service**      | Match lifecycle, results, forfeits            |
| **Tournament Service** | Brackets, schedules, rulesets                 |
| **ELO/Rating**         | Update player ratings post-match              |
| **Leaderboard**        | Ranks, filters, history                       |
| **Replay/Highlight**   | Upload match demos, AI-generated clips        |
| **Notification**       | Email, in-app, push alerts                    |
| **Anti-Cheat**         | Monitor behavior, flag suspicious activity    |
| **Game Server Agent**  | Runs on CS2 server, communicates with backend |
| **Analytics Service**  | Win rates, maps, player stats                 |