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.
Here’s an overview of the CricStatLK architecture showcasing the microservices and their interactions:
For a detailed API reference and project overview, check out the Documentation.
CricStatLK uses a modular architecture, where each microservice is dedicated to a specific domain:
-
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.
-
Match Service 🏟️
- Handles match details including teams, venue, and results.
- Example endpoints:
GET /matches: List all matches.PUT /matches/{match_id}: Update match winner.
-
Team Service 🏏
- Manages team details including names and associated players.
-
Performance Service 🥇
- Records individual player performances such as runs, wickets, and catches for a match.
- Key endpoint:
POST /performances: Add player performance.
-
Stats Service 📊
- Aggregates player statistics like batting averages, total runs, and bowling averages.
- Example endpoint:
GET /stats/players/{player_id}: Fetch player statistics.
-
API Gateway 🌐
- Acts as a single entry point for the frontend.
- Orchestrates requests requiring multiple services (e.g., combining player details and statistics).
- ✅ 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.
- 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.
- Clone the repository.
- Navigate to each microservice directory.
- Run
mvn spring-boot:run.
- Navigate to the frontend directory.
- Install dependencies:
npm install. - Start the application:
npm run dev.
- Navigate to the API Gateway directory.
- Run the gateway:
mvn spring-boot:run.
This project is licensed under the MIT License.







