Skip to content
This repository has been archived by the owner on Jul 5, 2024. It is now read-only.

sadegh15khedry/Tournament-Tracker

Repository files navigation

Tournament Tracker

Overview

TournamentTracker is a robust application designed to manage and track tournaments. It consists of a .NET API and a WinForms application, allowing users to create tournaments, manage participants, track match results, and view standings. This application is perfect for organizers who want to streamline the tournament management process.

Table of Contents

Features

  • Create Tournaments: Easily create and manage multiple tournaments.
  • Participant Management: Add, remove, and edit participant information.
  • Match Tracking: Record match results and track progress.
  • Standings: Automatically calculate and display standings based on match results.
  • User-friendly Interface: Intuitive and easy-to-navigate UI.

Screenshots

Dashboard

Screenshot 2024-06-06 055449

Create Tournament

Screenshot 2024-06-06 060541

Manage Participants

Screenshot 2024-06-06 060440

Track Match Results

Screenshot 2024-06-06 055630

Getting Started

Prerequisites

Installation

Clone the repository

  1. Clone the repository:
  git clone https://github.com/sadegh15khedry/TournamentTracker.git
  cd TournamentTracker

Set up the database

  1. Set up the database:
    1. Use the sql server project included to generate the database.
    2. Update the appsettings.json file with your database connection string.

Build the API

  1. Build the API:
  cd TournamentTracker.Api
  dotnet build

Run the API

  1. Run the API:
   dotnet run

Build the WinForms application

  1. Build the WinForms application:
   cd ../TournamentTracker.WinForms
   dotnet build

Run the WinForms application

  1. Run the WinForms application:
    • Open the TournamentTracker.WinForms/bin/Debug directory and run the TournamentTracker.WinForms.exe file.

Usage

  1. Create a new tournament:

    • Navigate to the "Create Tournament" section in the WinForms application.
    • Fill in the tournament details and add participants.
  2. Manage participants:

    • Add new participants through the "Tournament teams" section.
    • Edit or remove existing participants as needed.
  3. Track match results:

    • Record match results in the "Match Tracking" section.
    • View match history and standings.

Technologies Used

  • .NET Core
  • WinForms
  • SQL Server
  • Dapper (for ORM)
  • Refit (for API calls)
  • Visual Studio Database Project

Domain Logic

The domain logic of the application is encapsulated in the TournamentTrackerLibrary.

Database

  • The database schema and interactions are defined using a Visual Studio Database Project.
  • All database interactions are managed through stored procedures to ensure efficiency and security.

Future Plans

  • Implement a web-based frontend.
  • Add support for more database systems.
  • Enhance reporting and analytics features.

Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature).
  3. Commit your changes (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Create a new Pull Request.

License

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

Contact

For questions or suggestions, feel free to open an issue or contact the project maintainers.

Acknowledgements

  • Special thanks to Tim Corey for his YouTube course on the Tournament Tracker app, which served as the foundation for this project.
  • This project was expanded to a larger scale, including a .NET API for a multi-platform app design, to better suit the needs of a more complex tournament management system.