Skip to content

Comprehensive microservices-based T20 cricket stats platform with Spring Boot, API Gateway, and dynamic dashboard visualization.

Notifications You must be signed in to change notification settings

RyanSilva2004/CricStatLK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏏 CricStatLK - Microservices Cricket Stats Platform

CricStatLK is a comprehensive T20 cricket statistics platform built using microservices architecture. The project focuses on modular, scalable services to manage players, matches, teams, performances, and dynamic statistics, all orchestrated via an API Gateway.


🚀 Architecture Diagram

Here’s an overview of the CricStatLK architecture showcasing the microservices and their interactions:

Architecture Diagram

📜 Documentation

For a detailed API reference and project overview, check out the Documentation.


📦 Microservices Overview

CricStatLK uses a modular architecture, where each microservice is dedicated to a specific domain:

Microservices

  1. Player Service 🎯

    • Manages player details like name, country, date of birth, and profile images.
    • Exposes endpoints such as:
      • GET /players: Retrieve all players.
      • POST /players: Add a new player.
  2. Match Service 🏟️

    • Handles match details including teams, venue, and results.
    • Example endpoints:
      • GET /matches: List all matches.
      • PUT /matches/{match_id}: Update match winner.
  3. Team Service 🏏

    • Manages team details including names and associated players.
  4. Performance Service 🥇

    • Records individual player performances such as runs, wickets, and catches for a match.
    • Key endpoint:
      • POST /performances: Add player performance.
  5. Stats Service 📊

    • Aggregates player statistics like batting averages, total runs, and bowling averages.
    • Example endpoint:
      • GET /stats/players/{player_id}: Fetch player statistics.
  6. API Gateway 🌐

    • Acts as a single entry point for the frontend.
    • Orchestrates requests requiring multiple services (e.g., combining player details and statistics).

🌟 Highlighted Features

Backend Features (Microservices)

  • ✅ Modular services designed using Spring Boot.
  • ✅ Decoupled microservices communicating through REST APIs.
  • ✅ Flexible API Gateway with support for:
    • Data aggregation (e.g., combining player stats with details).
    • Simplified client interactions.

Frontend Features

  • Players Management: Add, update, or delete players.
  • Statistics Dashboard: View combined player stats dynamically.
  • Match Management: Create and edit matches.
  • Performance Recording: Add individual player performances.

📸 Screenshots

Primary Screenshots

Home Page Players Page Player Statistics Page

Miscellaneous Screenshots

Matches Page Match Performances Page Performances Page Add Performances Teams Page

🛠️ How to Run the Project

Backend

  1. Clone the repository.
  2. Navigate to each microservice directory.
  3. Run mvn spring-boot:run.

Frontend

  1. Navigate to the frontend directory.
  2. Install dependencies: npm install.
  3. Start the application: npm run dev.

API Gateway

  1. Navigate to the API Gateway directory.
  2. Run the gateway: mvn spring-boot:run.

📜 License

This project is licensed under the MIT License.

About

Comprehensive microservices-based T20 cricket stats platform with Spring Boot, API Gateway, and dynamic dashboard visualization.

Topics

Resources

Stars

Watchers

Forks

Languages