How afieldi/risenstats works
Risen Stats is a League of Legends statistics and league-management application. A player searches in the web app, which requests data from the API; backend business logic obtains and aggregates game/player data from persistence, and the frontend presents profiles, game summaries, and statistics. Other documented-by-module capabilities include league/team views, leaderboards, drafting, stock timelines, authentication, and stat exports. The tree and sampled files establish the application entry points and some feature behavior; detailed wiring for unsampled modules is not asserted.
Main entry points: business Business services · api Frontend API clients · index.ts HTTP and socket server · App.tsx React application
Components 19
Web application
- React application
front-end/src/App.tsx - Player search
front-end/src/pages/search/search.tsx - Frontend API clients
front-end/src/api - Player and game views
front-end/src/components/player-page - League and team views
front-end/src/components/league-page - Drafting interface
front-end/src/components/drafting - Stat export pages
front-end/src/pages/statExport
Backend API
- HTTP and socket server
BackEnd/index.ts - Feature API routes
BackEnd/src/api
Statistics and league domain
- Business services
BackEnd/src/business - Sheet parsers
BackEnd/src/business/sheets - Stat generators
front-end/src/common/stats-generators
Persistence and contracts
- Database access
BackEnd/src/db - Shared domain models
Common/models - Application database
External integrations
- Riot game services
- Discord OAuth and guild
- Google Sheets
Other components
- Site user
Connections 19
- Site user → React application: uses
- React application → Player search: renders
- Player search → Frontend API clients: requests players
- Frontend API clients → HTTP and socket server: calls API
- HTTP and socket server → Feature API routes: dispatches requests
- Feature API routes → Business services: invokes services
- Business services → Database access: reads and writes
- Database access → Application database: queries
- Business services → Shared domain models: uses contracts
- Frontend API clients → Player and game views: supplies profile data
- Frontend API clients → League and team views: supplies league data
- Frontend API clients → Drafting interface: supplies draft data
- Frontend API clients → Stat export pages: requests export data
- Player and game views → Stat generators: calculates displayed stats
- HTTP and socket server → Business services: dispatches draft events
- Business services → Sheet parsers: uses parsers
- Business services → Riot game services: requests game data
- Business services → Discord OAuth and guild: checks identity and roles
- Sheet parsers → Google Sheets: reads sheets