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.
- Project Overview
- Features
- Technologies Used
- Requirements
- Installation
- Running the Application
- Folder Structure
- API Endpoints
- Future Enhancements
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.
- 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.
- 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
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)
git clone https://github.com/Nuraj250/ictss-backend.git
cd ictss-backendCreate 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=updateRun the following command to install the required dependencies:
mvn clean installYou can run the application by executing:
mvn spring-boot:runThe backend will be running at http://localhost:8080.
/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| 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 |
Roles include:
- Admin: Full access to all functionalities.
- Coach/Selector: Can manage players, teams, and view reports.
- Analyst: Can generate reports and view analytics.
- 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.
This project is licensed under the MIT License - see the LICENSE.md file for details.