Skip to content

CloudyWSA/oracle-data

Repository files navigation

Data Oracle - League of Legends Esports Analytics Dashboard

Overview

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.

Features

Data Analysis

  • 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

Data Visualization

  • 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

Data Import

  • CSV file upload functionality for custom data analysis
  • Support for standard League of Legends esports data formats
  • Data validation to ensure proper formatting

Getting Started

Prerequisites

  • Node.js (version 14 or higher)
  • npm or pnpm

Installation

  1. Clone the repository

    git clone https://github.com/CloudyWSA/oracle-data
    cd oracle-data
    
  2. Install dependencies

    npm install
    # or
    pnpm install
    
  3. Start the development server

    npm run dev
    # or
    pnpm dev
    
  4. Open http://localhost:3000 in your browser

Usage

  1. Upload Data: Use the file uploader on the home page to import your League of Legends match data in CSV format
  2. Explore Dashboard: Navigate through the different tabs to analyze various aspects of the data
  3. Filter and Sort: Use the filtering options to focus on specific patches, leagues, or teams
  4. Analyze Matchups: Explore champion matchups and synergies to understand meta trends

Data Format Requirements

The uploaded CSV file should contain the following required columns:

  • gameid: Unique identifier for each game
  • participantid: 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 player
  • champion: Champion played
  • position: 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)

Technologies

  • 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

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • League of Legends esports data providers
  • The League of Legends competitive community

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors