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.
- Features
- Screenshots
- Getting Started
- Usage
- API Documentation
- Technologies Used
- Domain Logic
- Database
- Known Issues
- Future Plans
- Contributing
- License
- Contact
- Acknowledgements
- 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.
- .NET Core SDK (version 3.1 or higher)
- SQL Server or other supported database systems
- Clone the repository:
git clone https://github.com/sadegh15khedry/TournamentTracker.git
cd TournamentTracker
- Set up the database:
- Use the sql server project included to generate the database.
- Update the
appsettings.json
file with your database connection string.
- Build the API:
cd TournamentTracker.Api
dotnet build
- Run the API:
dotnet run
- Build the WinForms application:
cd ../TournamentTracker.WinForms
dotnet build
- Run the WinForms application:
- Open the
TournamentTracker.WinForms/bin/Debug
directory and run theTournamentTracker.WinForms.exe
file.
- Open the
-
Create a new tournament:
- Navigate to the "Create Tournament" section in the WinForms application.
- Fill in the tournament details and add participants.
-
Manage participants:
- Add new participants through the "Tournament teams" section.
- Edit or remove existing participants as needed.
-
Track match results:
- Record match results in the "Match Tracking" section.
- View match history and standings.
- .NET Core
- WinForms
- SQL Server
- Dapper (for ORM)
- Refit (for API calls)
- Visual Studio Database Project
The domain logic of the application is encapsulated in the TournamentTrackerLibrary
.
- 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.
- Implement a web-based frontend.
- Add support for more database systems.
- Enhance reporting and analytics features.
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/YourFeature
). - Create a new Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or suggestions, feel free to open an issue or contact the project maintainers.
- 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.