Inspiration
The inspiration behind Riot Global Rankings was the desire to harness the power of MongoDB as a robust data store for creating a dynamic ranking system. The project aimed to serve this ranking system efficiently through a serverless API. MongoDB's flexibility and scalability as a NoSQL database presented a promising opportunity to store and aggregate data related to competitive gaming, particularly for League of Legends. This inspiration drove the development of this solution that not only streamlined data aggregation but also provided real-time and precise ranking insights to enhance the competitive gaming experience.
What it does
Riot Global Rankings is a streamlined and user-friendly ranking system designed to evaluate team rankings based on the cumulative wins and losses of 'BestOf' game types, specifically in the 'Classic' mode. This system provides a straightforward yet precise method to determine and showcase the competitive prowess of teams within the world of competitive gaming, offering a quick and insightful way to understand team performance.
How we built it
AWS Lambda: We employed AWS Lambda for real-time data processing, allowing us to efficiently execute critical operations, including data aggregation and transformation.
AWS API Gateway: The AWS API Gateway served as the primary entry point for our HTTP API. It adeptly managed incoming requests and acted as a seamless conduit to the relevant AWS Lambda functions, ensuring a smooth and responsive system.
MongoDB: For data storage, we chose MongoDB, a flexible NoSQL database that offers both scalability and security. MongoDB securely stored and retrieved critical game-related data.
Data Import from Riot's AWS S3: Riot Games graciously provided essential datasets on their AWS S3 bucket. Using MongoDB's import tool, we effortlessly migrated these datasets into our MongoDB Atlas cluster. The data included pivotal information about teams, players, tournaments, and leagues, forming the foundation of our comprehensive ranking system.
This architecture effectively brought together AWS services and MongoDB, working in harmony to deliver precise and real-time rankings for the competitive gaming world, with AWS Lambda, AWS API Gateway, and MongoDB at the core.
Challenges we ran into
MongoDB Aggregations for Expansive Datasets: Managing and querying extensive datasets posed a significant challenge. Creating efficient MongoDB aggregations to process the wealth of data required careful design and optimization to ensure fast and accurate results.
Data Compilation and Aggregation for Tournament Matches: Compiling and aggregating data for tournament matches, particularly when incorporating game events and player-specific data, was a complex task. The challenge lay in integrating these multiple data sources seamlessly and accurately to generate meaningful insights.
Direct Indexing Results with MongoDB Aggregations: Utilizing MongoDB aggregations to directly index results presented hurdles. Crafting these indexes efficiently required a deep understanding of both the dataset and the aggregation framework to ensure that the rankings system could provide real-time and precise results.
Accomplishments that we're proud of
Seamless Integration: Achieving seamless integration of AWS services, MongoDB, and GitHub Actions to create a robust infrastructure.
Efficient Data Processing: Developing an efficient data processing pipeline using AWS Lambda, enabling real-time aggregation and analysis.
Automated Deployment: Implementing GitHub Actions for automated deployment, streamlining the development process.
Data Security: Ensuring the utmost security and reliability of data with a MongoDB Atlas cluster hosted on AWS.
Elevating Esports: Elevating competitive gaming, specifically League of Legends, through precise data-driven insights and rankings.
Scalability: Ensuring our system can scale to meet the dynamic demands of the esports ecosystem.
What we learned
AWS Power: We discovered the immense capabilities of AWS services, how they can be harnessed to build scalable and secure applications.
Serverless Agility: Leveraging serverless technologies can significantly enhance the efficiency of data processing and application deployment.
Infrastructure as Code: AWS CloudFormation taught us the importance of managing infrastructure as code, ensuring consistency and reproducibility.
Automated Deployment: GitHub Actions proved to be a valuable tool for automating deployment, saving time and reducing human error.
Data Precision: Working with esports data emphasized the significance of data accuracy in creating meaningful insights and rankings.
Riot Games' Impact: Our project underlines how precise data-driven insights can elevate the competitive gaming experience, particularly within the League of Legends community.
What's next for Riot Global Rankings
Advanced Data Compilation: We plan to take the data compilation to the next level. By further refining the aggregation processes, we aim to create a richer and more comprehensive dataset. This entails not only the collection of match outcomes but also the inclusion of player performance metrics, detailed game statistics, and other relevant data points.
Data Enrichment with Power BI: Microsoft's Power BI offers powerful data visualization capabilities. We intend to harness this tool to generate intuitive and informative dashboards. This will allow both gaming enthusiasts and professionals to gain a clearer understanding of the evolving esports landscape.
Machine Learning with SageMaker: Amazon SageMaker will be our gateway to machine learning and predictive analytics. By building predictive models, we can anticipate trends, team performances, and potential upsets. This will provide valuable insights for both players and fans, enhancing the overall esports experience.
Data Warehousing with Redshift: Amazon Redshift will serve as our data warehousing solution. By moving our data into this high-performance and fully managed data warehouse, we can run complex queries for in-depth analytics. This will be particularly useful for historical data analysis and cross-referencing multiple datasets.
Enhanced User Experience: Our journey doesn't stop at data analysis. We aim to make these insights accessible to the broader gaming community. Through interactive web applications and mobile interfaces, we will deliver real-time rankings, match predictions, and detailed player statistics to League of Legends fans worldwide.
Collaboration with the Esports Community: We're eager to collaborate with Riot Games, teams, players, and fans to further fine-tune our system. We believe that engaging with the esports community will lead to a more accurate and comprehensive ranking system.
Log in or sign up for Devpost to join the conversation.