How iagojorge/loltrainer works
LoL Histórico is a team-focused League of Legends match-analysis platform. A user imports matches by Riot ID/Match ID or uploads a replay; the server transforms and stores match data, which the client presents as match history, team/player/champion analysis, timelines, and coach notes. The graph also includes roster management, SoloQ, authentication, and Riot/Data Dragon integrations. Some route and service implementations were not sampled, so their connections are limited to README statements and SOURCE INDEX references.
Main entry points: App.jsx App routing · api.js API client · app.js Express API · db.js Match database
Components 25
Client experience
- App routing
client/src/App.jsx - Session state
client/src/auth.jsx - API client
client/src/api.js
Match ingestion
- Import workflow
client/src/pages/ImportMatch.jsx - Match endpoints
server/src/routes/matches.js - Replay endpoints
server/src/routes/replays.js - Riot endpoints
server/src/routes/riot.js - Riot match import
server/src/services/riot.js - Replay parsing
server/src/services/rofl.js
Analysis features
- Match history
client/src/pages/Dashboard.jsx - Team dashboard
client/src/pages/TeamDashboard.jsx - Match detail
client/src/pages/MatchDetail.jsx - Champion analysis
client/src/pages/ChampionDetail.jsx - Player analysis
client/src/pages/PlayerDetail.jsx - Player roster view
client/src/pages/Players.jsx - SoloQ analysis
client/src/pages/Soloq.jsx - Stats aggregation
server/src/services/stats.js
Identity and roster
- Roster management
server/src/services/roster.js - Authentication
server/src/services/auth.js
Services and storage
- Express API
server/src/app.js - Game metadata
server/src/services/ddragon.js - Match database
server/src/db.js
Other components
- Team analyst
- Riot API
- Data Dragon CDN
Connections 36
- Team analyst → App routing: uses
README.md - App routing → Match history: routes to
client/src/App.jsx - App routing → Team dashboard: routes to
client/src/App.jsx - App routing → Match detail: routes to
client/src/App.jsx - App routing → Champion analysis: routes to
client/src/App.jsx - App routing → Player analysis: routes to
client/src/App.jsx - App routing → Player roster view: routes to
client/src/App.jsx - App routing → SoloQ analysis: routes to
client/src/App.jsx - App routing → Import workflow: routes to
client/src/App.jsx - App routing → Session state: reads session
client/src/App.jsx - Session state → API client: requests session
client/src/auth.jsx - Match history → API client: fetches data
client/src/pages/Dashboard.jsx - Team dashboard → API client: fetches data
client/src/pages/TeamDashboard.jsx - Match detail → API client: fetches data
client/src/pages/MatchDetail.jsx - Champion analysis → API client: fetches data
client/src/pages/ChampionDetail.jsx - Player analysis → API client: fetches data
- Player roster view → API client: fetches data
- SoloQ analysis → API client: fetches data
client/src/pages/Soloq.jsx - Import workflow → API client: submits imports
client/src/pages/ImportMatch.jsx - API client → Express API: calls API
README.md - Express API → Match endpoints: mounts routes
server/src/app.js - Express API → Replay endpoints: mounts routes
server/src/app.js - Match endpoints → Riot match import: imports matches
server/src/routes/matches.js - Match endpoints → Stats aggregation: requests stats
server/src/routes/matches.js - Replay endpoints → Replay parsing: parses replay
server/src/routes/replays.js - Express API → Riot endpoints: mounts routes
server/src/app.js - Riot match import → Riot API: fetches match data
README.md - Riot match import → Game metadata: translates game IDs
server/src/services/riot.js - Game metadata → Data Dragon CDN: fetches metadata
server/src/services/ddragon.js - Riot match import → Match database: persists match data
README.md - Replay parsing → Match database: persists replay data
server/src/services/rofl.js - Stats aggregation → Match database: queries aggregates
- Express API → Authentication: uses identity
server/src/app.js - Authentication → Match database: reads and writes
server/src/services/auth.js - Express API → Roster management: seeds roster
server/src/app.js - Roster management → Match database: reads and writes
server/src/services/roster.js