You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
│ meta_intelligence │ Build aggregation, champion/item meta analytics │
218
222
│ scrims │ Scrim management and opponent team tracking │
219
223
│ strategy │ Draft planning and tactical board system │
@@ -239,7 +243,7 @@ This API follows a modular monolith architecture with the following modules:
239
243
-`vod_reviews` - Video review and timestamp management
240
244
-`team_goals` - Goal setting and tracking
241
245
-`riot_integration` - Riot Games API integration
242
-
-`competitive` - PandaScore integration, pro matches, draft analysis
246
+
-`competitive` - PandaScore + Elasticsearch match detail, H2H, draft analysis
243
247
-`scrims` - Scrim management and opponent team tracking
244
248
-`strategy` - Draft planning and tactical board system
245
249
-`support` - Support ticket system with staff and FAQ management
@@ -712,7 +716,7 @@ curl -X POST http://localhost:3333/api/v1/auth/refresh \
712
716
#### Riot Integration
713
717
-`GET /riot-integration/sync-status` — Get sync status for all players
714
718
715
-
#### Competitive (PandaScore Integration)
719
+
#### Competitive (PandaScore + Elasticsearch)
716
720
-`GET /competitive-matches` — List competitive matches
717
721
-`GET /competitive-matches/:id` — Get competitive match details
718
722
-`GET /competitive/pro-matches` — List all pro matches
@@ -721,11 +725,15 @@ curl -X POST http://localhost:3333/api/v1/auth/refresh \
721
725
-`GET /competitive/pro-matches/past` — Get past pro matches
722
726
-`POST /competitive/pro-matches/refresh` — Refresh pro matches from PandaScore
723
727
-`POST /competitive/pro-matches/import` — Import specific pro match
728
+
-`GET /competitive/pro-matches/match-preview` — Per-game picks + stats for a recent series (ES)
729
+
-`GET /competitive/pro-matches/es-series` — H2H series history between two teams (ES)
724
730
-`POST /competitive/draft-comparison` — Compare team compositions
725
731
-`GET /competitive/meta/:role` — Get meta champions by role
726
732
-`GET /competitive/composition-winrate` — Get composition winrate statistics
727
733
-`GET /competitive/counters` — Get champion counter suggestions
728
734
735
+
> `match-preview` and `es-series` query the Elasticsearch data lake (97K+ games) and are league-agnostic. They accept `?team1=&team2=&league=&limit=` query params.
> Backfill jobs are resumable — re-running skips already-completed tournaments. First run imports full history (~8-12h); subsequent runs only process new/failed tournaments (minutes).
1247
+
1217
1248
**Production Stack (Coolify):**
1218
1249
-**Reverse Proxy**: Traefik with automatic TLS (Let's Encrypt)
1219
1250
-**WebSocket Support**: Native WebSocket proxy for Action Cable
1220
1251
-**Application**: Rails 7.2 API (Puma) + Action Cable + Sidekiq
0 commit comments