Data Oracle is a comprehensive analytics dashboard for League of Legends esports data. It provides in-depth analysis and visualization of professional League of Legends matches, allowing users to explore champion statistics, player performance, team metrics, matchups, and more.
- Champion Statistics: Track pick/ban rates, win rates, KDA, damage share, gold share, and position preferences
- Player Performance: Analyze individual player metrics across different champions and positions
- Team Analytics: Compare team performance, objective control, and side selection advantages
- Game Analysis: Detailed breakdown of individual matches with player and team performance
- Matchups: Head-to-head champion and duo matchup statistics with performance metrics
- Draft Simulator: Experiment with team compositions using synergy and matchup data
- Interactive tables with sorting and filtering capabilities
- Performance metrics with time-series data (gold, XP, CS differences at 10/15/20/25 minutes)
- Champion synergy and counter relationships
- Team and player tendencies
- CSV file upload functionality for custom data analysis
- Support for standard League of Legends esports data formats
- Data validation to ensure proper formatting
- Node.js (version 14 or higher)
- npm or pnpm
-
Clone the repository
git clone https://github.com/CloudyWSA/oracle-data cd oracle-data -
Install dependencies
npm install # or pnpm install -
Start the development server
npm run dev # or pnpm dev -
Open http://localhost:3000 in your browser
- Upload Data: Use the file uploader on the home page to import your League of Legends match data in CSV format
- Explore Dashboard: Navigate through the different tabs to analyze various aspects of the data
- Filter and Sort: Use the filtering options to focus on specific patches, leagues, or teams
- Analyze Matchups: Explore champion matchups and synergies to understand meta trends
The uploaded CSV file should contain the following required columns:
gameid: Unique identifier for each gameparticipantid: Player ID (1-10) or team ID (100 for blue side, 200 for red side)side: Team side ("Blue" or "Red")result: Match result (1 for win, 0 for loss)
For player data (participantid 1-10):
playername: Name of the playerchampion: Champion playedposition: Role position (top, jng, mid, bot, sup)
For team data (participantid 100/200):
teamname: Name of the team
Additional columns for enhanced analysis:
- Performance metrics (kills, deaths, assists, etc.)
- Economy metrics (gold, CS)
- Objective control (dragons, barons, towers)
- Time-series data (stats at 10/15/20/25 minutes)
- Next.js: React framework for the frontend
- TypeScript: Type-safe JavaScript
- Tailwind CSS: Utility-first CSS framework
- Radix UI: Unstyled, accessible UI components
- Papa Parse: CSV parsing library
This project is licensed under the MIT License - see the LICENSE file for details.
- League of Legends esports data providers
- The League of Legends competitive community