Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏏 Cricket Management System

A comprehensive solution to manage cricket matches, track live scoring, and analyze player statistics.


πŸ“– Table of Contents


🌟 Overview

The Cricket Management System is a lightweight, full-stack web application designed to track and manage local cricket matches. It provides an intuitive interface for ball-by-ball scoring, real-time match status updates, and comprehensive player analytics. Built with a robust Python/Flask backend and a dynamic Vanilla JavaScript frontend, this system digitizes cricket scoring, maintaining historical records and detailed scorecards for all matches.


✨ Key Features

  • πŸ”΄ Live Match Scoring: Record ball-by-ball actions, track extras (wides, no-balls), fall of wickets, and innings progression.
  • πŸ‘₯ Player & Team Registration: Dynamically add players and assign them to competing teams before a match begins.
  • πŸ“Š Player Analytics & Leaderboards: View detailed player profiles, batting/bowling statistics, and an overall leaderboard.
  • πŸ† Match History: Access an archive of past matches, complete with detailed scorecards and match insights.
  • πŸ“‰ Data Export: Export match history, player analytics, and comprehensive data to CSV and Excel formats.
  • 🧠 Smart Insights: View dashboard insights and auto-generated smart insights regarding match performance.
  • ♻️ Match Management: Soft delete, restore, or permanently delete match records.

πŸ›  Tech Stack

  • Frontend: HTML5, CSS3, Vanilla JavaScript
  • Backend: Python 3, Flask
  • Database: SQLite
  • Libraries: openpyxl (for Excel data export)

πŸ— Architecture

The application follows a Client-Server architecture:

  • Client: The frontend serves static files (index.html, style.css, app.js) and interacts with the user. It makes asynchronous HTTP calls (Fetch API) to the backend.
  • Server: A Python Flask application (backend/app.py) providing RESTful API endpoints for data retrieval, match state updates, and export generation.
  • Database: An SQLite database (database/cricket.db) managed through init_db.py and schema.sql, storing players, matches, match states, and ball-by-ball logs.

πŸ“‚ Folder Structure

cricket-management-system/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ app.py               # Main Flask application and REST APIs
β”‚   └── requirements.txt     # Python dependencies
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ index.html           # Main UI dashboard
β”‚   β”œβ”€β”€ style.css            # Application styling
β”‚   └── app.js               # Frontend logic and API integration
β”œβ”€β”€ database/
β”‚   β”œβ”€β”€ init_db.py           # Script to initialize the SQLite database
β”‚   β”œβ”€β”€ schema.sql           # Database schema definitions
β”‚   └── cricket.db           # SQLite database file
β”œβ”€β”€ .gitignore               # Git ignored files configuration
└── README.md                # Project documentation

🌐 Live Demo

πŸ”— https://cricket-management-system-hv8t.onrender.com


πŸ”— Repository

https://github.com/Arandeep12/cricket-management-system


πŸš€ Installation Guide

Follow these instructions to run the project locally.

Prerequisites

  • Python 3.8+
  • Git

Setup Steps

  1. Clone the repository:

    git clone https://github.com/Arandeep12/cricket-management-system.git
    cd cricket-management-system
  2. Initialize the Database:

    cd database
    python init_db.py
    cd ..
  3. Install Dependencies: Install the required Python packages (Flask and openpyxl for Excel exports):

    cd backend
    pip install -r requirements.txt
    pip install openpyxl
  4. Run the Backend Server:

    python app.py

    The backend will start locally at http://127.0.0.1:5001.

  5. Open the Frontend Application: Since the frontend consists of static files, simply open frontend/index.html in your preferred web browser, or serve it using a local HTTP server.


πŸ’‘ Usage Guide

  1. Start a Match: Open the dashboard, add players, set the toss details, and begin the innings.
  2. Score Live: Use the control panel to add runs, mark wickets, and log extras for every delivery.
  3. Analytics & Export: Navigate to the Analytics tab to view leaderboards and export data into Excel or CSV format.
  4. History: Check the Match History tab for detailed scorecards of previously completed matches.

πŸ“Έ Screenshots

🏠 Home Page

Overview dashboard displaying quick access buttons to start matches, manage players, view analytics, and inspect overall system highlights.

Home Page


πŸ‘₯ Add Players

Interface for adding and registering new players to the database with specified roles and details.

Add Players


βš”οΈ Create Match

Setup screen to configure teams, select playing squad for each side, set total overs, and initialize a match.

Create Match


πŸͺ™ Match Toss

Interactive toss manager to record the coin toss winner and batting/bowling choices.

Match Toss


🎯 Toss Decision

Screen displaying the elected decision (Bat or Bowl) and confirming match start settings.

Toss Decision


πŸ“Š Live Scoreboard

Real-time scoring dashboard for recording ball-by-ball actions, runs, extras, wickets, and live statistics.

Scoreboard


☝️ How Was Out

Modal popup to select the exact mode of dismissal (Bowled, Caught, Run Out, LBW, Stumped, etc.) and fielder details.

How Was Out


πŸ† Winner Screen

Match conclusion modal presenting final match outcome, winning team, score summaries, and victory margins.

Winner Screen


πŸ“œ Match History

Comprehensive archive listing all past matches, final scorecards, detailed ball logs, and management controls.

Match History


πŸ“ˆ Player Analytics

Detailed statistical analysis of individual player performance, batting averages, strike rates, bowling economy, and wickets.

Player Analytics


βš–οΈ Compare Performance

Side-by-side player comparison tool to evaluate two players across key performance metrics.

Compare Performance


πŸ₯‡ Leaderboard

Rankings table highlighting top run-scorers, leading wicket-takers, and top-performing players.

Leaderboard


🧠 Smart Insights

Automated performance insights generator analyzing run rates, key milestones, and team trends.

Smart Insights


πŸ’Ύ Export Data

Export module enabling users to download match logs, player stats, and archives in CSV or Excel format.

Export Data


πŸ“ Exported Excel File

Sample view of the formatted Excel spreadsheet generated by the export system.

Exported Excel File

About

A full-stack Cricket Management System built with a modern frontend, backend, and database architecture to manage players, teams, matches, tournaments, scorecards, and statistics through an intuitive web interface.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages