# enkh-ebash/mlbb_version1 architecture

> Architecture diagram of the GitHub repository enkh-ebash/mlbb_version1, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/enkh-ebash/mlbb_version1
- Repository: https://github.com/enkh-ebash/mlbb_version1

## Overview

MLBB Mongolia is an esports companion platform for player accounts and profiles, ranked play, matchmaking, tournaments, clans, chat, notifications, and game analytics. The intended player workflow spans account access, queueing and match formation, match-result rating updates, and leaderboard/profile views; tournament and community features form parallel branches. The frontend entry and several service implementations were sampled, but the README is empty and most routing, gateway, and service-to-service wiring was not available, so uncertain connections are omitted.

Main entry points: [`mlbb_esports_platform/backend/common/db/mongodb.ts`](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/common/db/mongodb.ts) (MongoDB), [`mlbb_esports_platform/backend/common/models/schemas.ts`](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/common/models/schemas.ts) (Domain schemas), [`mlbb_esports_platform/backend/services/leaderboard-service/src/index.ts`](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/leaderboard-service/src/index.ts) (Leaderboard), [`mlbb_esports_platform/backend/services/analytics-service/src/index.ts`](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/analytics-service/src/index.ts) (Game analytics)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Player interface"]
  node_app["React app<br/>[AppFixed.tsx]"]
  node_entry["Frontend entry<br/>[main.tsx]"]
  node_api["API client<br/>[api.ts]"]
  node_authpages["Login and register<br/>[Login.tsx]"]
  node_profile["Player profile<br/>[Profile.tsx]"]
  node_leaderpage["Leaderboard view<br/>[Leaderboard.tsx]"]
  node_matchpage["Matchmaking view<br/>[Matchmaking.tsx]"]
  node_tourneyview["Tournament view<br/>[Tournaments.tsx]"]
  node_clanview["Clan view<br/>[Clans.tsx]"]
  node_authstore["Client state<br/>[index.ts]"]
end

subgraph group_identity["Identity and community"]
  node_auth["Authentication<br/>[index.ts]"]
  node_clans["Clan service<br/>[index.ts]"]
  node_chat["Chat service<br/>[index.ts]"]
  node_notifications["Notifications<br/>[index.ts]"]
end

subgraph group_competition["Competitive play"]
  node_matchmaking["Matchmaking<br/>[index.ts]"]
  node_tournaments["Tournaments<br/>[index.ts]"]
  node_mmr["MMR calculation<br/>[index.ts]"]
end

subgraph group_insights["Ranking and insights"]
  node_leaderboard["Leaderboard<br/>[index.ts]"]
  node_analytics["Game analytics<br/>[index.ts]"]
end

subgraph group_platform["Platform services"]
  node_gateway["API gateway<br/>[index.ts]"]
  node_legacy["Mock API server<br/>[server.js]"]
  node_mongo[("MongoDB<br/>[mongodb.ts]")]
  node_schemas["Domain schemas<br/>[schemas.ts]"]
  node_redis[("Redis")]
  node_heroes["Hero catalog<br/>[init.js]"]
end

node_player(("Player"))

node_entry -->|"mounts"| node_app
node_player -->|"uses"| node_entry
node_player -->|"submits credentials"| node_authpages
node_player -->|"joins queue"| node_matchpage
node_player -->|"views rankings"| node_leaderpage
node_player -->|"views profile"| node_profile
node_player -->|"browses events"| node_tourneyview
node_player -->|"browses clans"| node_clanview
node_authpages -->|"updates state"| node_authstore
node_profile -->|"reads user"| node_authstore
node_leaderpage -->|"reads state"| node_authstore
node_app -->|"API access"| node_api
node_api -->|"sends requests"| node_gateway
node_api -.->|"mock endpoints"| node_legacy
node_gateway -->|"serves API"| node_player
node_legacy -.->|"connects"| node_mongo
node_auth -->|"uses database"| node_mongo
node_clans -->|"uses database"| node_mongo
node_tournaments -->|"uses database"| node_mongo
node_leaderboard -->|"queries rankings"| node_mongo
node_leaderboard -->|"reads and caches"| node_redis
node_leaderboard -->|"subscribes updates"| node_redis
node_mmr -->|"reads and records"| node_mongo
node_mmr -->|"tracks streaks"| node_redis
node_analytics -->|"queries statistics"| node_mongo
node_analytics -->|"caches analytics"| node_redis
node_analytics -->|"loads catalog"| node_heroes
node_auth -->|"uses models"| node_schemas
node_clans -->|"uses models"| node_schemas
node_tournaments -->|"uses models"| node_schemas
node_leaderboard -->|"uses models"| node_schemas
node_mmr -->|"uses models"| node_schemas
node_analytics -->|"uses models"| node_schemas
node_matchmaking -->|"stores queues"| node_redis
node_chat -->|"stores messages"| node_redis
node_notifications -.->|"notifies"| node_player

click node_app "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/AppFixed.tsx"
click node_entry "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/main.tsx"
click node_api "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/services/api.ts"
click node_authpages "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/pages/Login.tsx"
click node_profile "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/pages/Profile.tsx"
click node_leaderpage "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/pages/Leaderboard.tsx"
click node_matchpage "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/pages/Matchmaking.tsx"
click node_tourneyview "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/pages/Tournaments.tsx"
click node_clanview "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/pages/Clans.tsx"
click node_authstore "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/store/index.ts"
click node_gateway "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/api-gateway/src/index.ts"
click node_legacy "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/server.js"
click node_auth "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/auth-service/src/index.ts"
click node_clans "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/clan-service/src/index.ts"
click node_chat "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/chat-service/src/index.ts"
click node_notifications "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/notification-service/src/index.ts"
click node_matchmaking "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/matchmaking-service/src/index.ts"
click node_tournaments "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/tournament-service/src/index.ts"
click node_mmr "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/mmr-service/src/index.ts"
click node_leaderboard "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/leaderboard-service/src/index.ts"
click node_analytics "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/analytics-service/src/index.ts"
click node_mongo "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/common/db/mongodb.ts"
click node_schemas "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/common/models/schemas.ts"
click node_heroes "https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/db/mongodb/init.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_entry,node_api,node_authpages,node_profile,node_leaderpage,node_matchpage,node_tourneyview,node_clanview,node_authstore toneBlue
class node_auth,node_clans,node_chat,node_notifications toneAmber
class node_matchmaking,node_tournaments,node_mmr toneMint
class node_leaderboard,node_analytics toneRose
class node_gateway,node_legacy,node_mongo,node_schemas,node_redis,node_heroes,node_player toneIndigo
```

## Components

### Player interface

- [React app](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/AppFixed.tsx): `mlbb_esports_platform/frontend/src/AppFixed.tsx`
- [Frontend entry](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/main.tsx): `mlbb_esports_platform/frontend/src/main.tsx`
- [API client](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/services/api.ts): `mlbb_esports_platform/frontend/src/services/api.ts`
- [Login and register](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/pages/Login.tsx): `mlbb_esports_platform/frontend/src/pages/Login.tsx`
- [Player profile](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/pages/Profile.tsx): `mlbb_esports_platform/frontend/src/pages/Profile.tsx`
- [Leaderboard view](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/pages/Leaderboard.tsx): `mlbb_esports_platform/frontend/src/pages/Leaderboard.tsx`
- [Matchmaking view](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/pages/Matchmaking.tsx): `mlbb_esports_platform/frontend/src/pages/Matchmaking.tsx`
- [Tournament view](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/pages/Tournaments.tsx): `mlbb_esports_platform/frontend/src/pages/Tournaments.tsx`
- [Clan view](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/pages/Clans.tsx): `mlbb_esports_platform/frontend/src/pages/Clans.tsx`
- [Client state](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/frontend/src/store/index.ts): `mlbb_esports_platform/frontend/src/store/index.ts`

### Identity and community

- [Authentication](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/auth-service/src/index.ts): `mlbb_esports_platform/backend/services/auth-service/src/index.ts`
- [Clan service](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/clan-service/src/index.ts): `mlbb_esports_platform/backend/services/clan-service/src/index.ts`
- [Chat service](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/chat-service/src/index.ts): `mlbb_esports_platform/backend/services/chat-service/src/index.ts`
- [Notifications](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/notification-service/src/index.ts): `mlbb_esports_platform/backend/services/notification-service/src/index.ts`

### Competitive play

- [Matchmaking](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/matchmaking-service/src/index.ts): `mlbb_esports_platform/backend/services/matchmaking-service/src/index.ts`
- [Tournaments](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/tournament-service/src/index.ts): `mlbb_esports_platform/backend/services/tournament-service/src/index.ts`
- [MMR calculation](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/mmr-service/src/index.ts): `mlbb_esports_platform/backend/services/mmr-service/src/index.ts`

### Ranking and insights

- [Leaderboard](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/leaderboard-service/src/index.ts): `mlbb_esports_platform/backend/services/leaderboard-service/src/index.ts`
- [Game analytics](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/analytics-service/src/index.ts): `mlbb_esports_platform/backend/services/analytics-service/src/index.ts`

### Platform services

- [API gateway](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/services/api-gateway/src/index.ts): `mlbb_esports_platform/backend/services/api-gateway/src/index.ts`
- [Mock API server](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/server.js): `mlbb_esports_platform/backend/server.js`
- [MongoDB](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/common/db/mongodb.ts): `mlbb_esports_platform/backend/common/db/mongodb.ts`
- [Domain schemas](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/common/models/schemas.ts): `mlbb_esports_platform/backend/common/models/schemas.ts`
- **Redis**
- [Hero catalog](https://github.com/enkh-ebash/mlbb_version1/blob/main/mlbb_esports_platform/backend/db/mongodb/init.js): `mlbb_esports_platform/backend/db/mongodb/init.js`

### Other components

- **Player**

## Connections

- Frontend entry → React app: mounts
- Player → Frontend entry: uses
- Player → Login and register: submits credentials
- Player → Matchmaking view: joins queue
- Player → Leaderboard view: views rankings
- Player → Player profile: views profile
- Player → Tournament view: browses events
- Player → Clan view: browses clans
- Login and register → Client state: updates state
- Player profile → Client state: reads user
- Leaderboard view → Client state: reads state
- React app → API client: API access
- API client → API gateway: sends requests
- API client → Mock API server: mock endpoints
- API gateway → Player: serves API
- Mock API server → MongoDB: connects
- Authentication → MongoDB: uses database
- Clan service → MongoDB: uses database
- Tournaments → MongoDB: uses database
- Leaderboard → MongoDB: queries rankings
- Leaderboard → Redis: reads and caches
- Leaderboard → Redis: subscribes updates
- MMR calculation → MongoDB: reads and records
- MMR calculation → Redis: tracks streaks
- Game analytics → MongoDB: queries statistics
- Game analytics → Redis: caches analytics
- Game analytics → Hero catalog: loads catalog
- Authentication → Domain schemas: uses models
- Clan service → Domain schemas: uses models
- Tournaments → Domain schemas: uses models
- Leaderboard → Domain schemas: uses models
- MMR calculation → Domain schemas: uses models
- Game analytics → Domain schemas: uses models
- Matchmaking → Redis: stores queues
- Chat service → Redis: stores messages
- Notifications → Player: notifies
