Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Esportify – E-Sports Tournament Management System 🎮

Overview

Esportify is a comprehensive desktop application designed to streamline e-sports tournament management. Developed as a Database Systems semester project, it replaces messy Excel brackets with a centralized, automated, database-driven system.

The platform provides distinct, secure portals for Admins, Referees, and Players.

Features

First-Run Bootstrap Setup: A built-in setup wizard automatically detects if the system is fresh and securely creates the Master Admin account with email verification on the first launch.

Dynamic Brackets & Leaderboards: Bracket progression and live standings are calculated dynamically using optimized MS SQL Server Views and Stored Procedures, moving complex logic to the database layer.

Role-Based Architecture: Dedicated workflows and customized UI portals for Admins (management), Referees (scoring), and Players (participation).

Secure Authentication: Built-in email OTP verification for secure login, registration, and admin setup.

Data Security: Strict separation of credentials using .env environment variables to prevent hardcoded secrets.

Tournament Tracking: Support for different competitive formats including Knockout (Win/Loss) and Battle Royale (Placement/Points).

Tech Stack Frontend: Python, PyQt5

Backend: MS SQL Server

Database Connectivity: pyodbc

Security & Configuration: python-dotenv, smtplib (Email verification)

Installation & Setup

  1. Clone the repository

Bash

git clone https://github.com/ahmadsoban92-pixel/esportify-desktop-app.git

cd esportify-desktop-app

  1. Install dependencies

Bash pip install -r requirements.txt

  1. Database Setup

Execute the provided dbproject.sql script in MS SQL Server Management Studio (SSMS) to build the schema, views, and stored procedures.

  1. Environment Configuration

Create a file named .env in the root directory (use .env.example as a template) and add your database and email credentials.

Database Connection Options:

  • Local/Simple Setup (Windows Auth): Leave DB_USER and DB_PASS blank to use a Trusted Connection.

  • Client-Server Setup (SQL Auth): Fill in DB_USER and DB_PASS with your specific SQL Server credentials.

# Database Configuration

DB_SERVER=YOUR_SERVER_NAME_HERE

DB_NAME=ESPORTS_SYSTEM

DB_USER=YOUR_USERNAME  # Leave blank for local Windows Authentication

DB_PASS=YOUR_PASSWORD  # Leave blank for local Windows Authentication

# Email Verification Configuration

EMAIL_USER=your_email@gmail.com

EMAIL_PASS=your_app_password

5. Run the Application

Bash

python main_whole.py


Note: On your very first run, the system will automatically launch the First-Run Setup screen to securely register and verify the Master 

Admin account.


Authors

Soban Ahmad (Roll No. 114)

Huzaifa Rao (Roll No. 048)

Haris Malik (Roll No. 039)


Software Engineering

About

A Database Systems semester project that replaces manual Excel brackets with a centralized, automated MS SQL Server database system. Features a PyQt5 frontend, automated bracket progression, role-based architecture, and email OTP verification.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages