Skip to content

A Spring Boot-based backend application for intelligent cricket team selection. ICTSS uses machine learning and real-time analytics to optimize team selection based on player statistics, match conditions, and more.

Notifications You must be signed in to change notification settings

Nuraj250/ICTSS_BE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intelligent Cricket Team Selection System (ICTSS) - Backend

The Intelligent Cricket Team Selection System (ICTSS) is a Spring Boot application designed to help selectors, coaches, and analysts make data-driven decisions for cricket team selection using advanced machine learning and real-time analytics.

Table of Contents

Project Overview

The Intelligent Cricket Team Selection System (ICTSS) aims to optimize the process of selecting cricket teams based on player statistics, match conditions, and real-time analytics. The backend is built using Spring Boot with a MySQL database, Java for business logic, and Python for the machine learning model.

The system includes:

  • Secure user authentication and role management.
  • Player and team management.
  • Real-time recommendations for team selection using data-driven insights.
  • Advanced analytics for player performance, team dynamics, and match outcomes.

Features

  • User Authentication: Secure registration, login, logout, and role-based access control (Admin, Coach, Selector, Analyst).
  • Player Management: Add, update, delete, and view detailed player statistics.
  • Team Selection: Automatically suggest the best team based on data, and allow manual adjustment.
  • Playground Management: Manage cricket grounds including location, conditions, and match history.
  • Reports & Analytics: Generate and view detailed performance reports and analytics.

Technologies Used

  • Spring Boot - Backend framework
  • MySQL - Relational database
  • Angular - Frontend framework (for the Web UI)
  • Java - Backend logic
  • Python - Machine learning model
  • Maven - Build tool
  • CoreUI - Admin template for the frontend UI
  • JPA/Hibernate - ORM for database interactions

Requirements

Before you start, ensure you have the following installed:

  • Java 17 or higher
  • Maven 3.6 or higher
  • MySQL 8.x
  • Python 3.x (for machine learning components)

Installation

1. Clone the Repository

git clone https://github.com/Nuraj250/ictss-backend.git
cd ictss-backend

2. Configure MySQL Database

Create a MySQL database and configure the connection in src/main/resources/application.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/ictss
spring.datasource.username=root
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update

3. Install Dependencies

Run the following command to install the required dependencies:

mvn clean install

4. Run the Application

You can run the application by executing:

mvn spring-boot:run

The backend will be running at http://localhost:8080.

Folder Structure

/src
  /main
    /java
      /com
        /ictss
          /controller         # REST API controllers
          /service             # Business logic services
          /model               # Entity classes
          /repository          # Database repository interfaces
          /config              # Security and configuration files
          /dto                 # Data transfer objects for API
          /util                # Utility classes
          /enum                # Enums for player types, roles, etc.
    /resources
      /static                  # Static resources (HTML, CSS)
      /templates               # Email or report templates
      application.properties   # Configuration properties

API Endpoints

Endpoint Method Description
/auth/register POST Register a new user
/auth/login POST Login to the system
/players GET List all players
/players/{id} GET Get details of a specific player
/players POST Add a new player
/players/{id} PUT Update an existing player
/players/{id} DELETE Delete a player
/teams POST Create a new team
/teams/recommend GET Get recommended team based on data
/teams/{id} GET Get details of a specific team
/reports/performance GET Generate performance report for players

Role Management

Roles include:

  • Admin: Full access to all functionalities.
  • Coach/Selector: Can manage players, teams, and view reports.
  • Analyst: Can generate reports and view analytics.

Future Enhancements

  • Real-Time Match Data Integration: Extend the system to automatically pull live match data.
  • Enhanced Analytics: Add more detailed and visual analytics, including team comparisons.
  • Mobile App: Develop a mobile-friendly version of the system.

License

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

About

A Spring Boot-based backend application for intelligent cricket team selection. ICTSS uses machine learning and real-time analytics to optimize team selection based on player statistics, match conditions, and more.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages