Skip to main content
This guide will help you get the Tournament Management App running and walk you through creating your first team. You’ll learn the basics of tournament management in just a few minutes.

Prerequisites

Before you begin, ensure you have one of the following installed:

Quick Start with Docker

The fastest way to get started is using Docker Compose:
1

Clone the Repository

git clone https://github.com/AlexanderAsprilla98/TorneoFutbol
cd TorneoFutbol
2

Start the Application

docker-compose up -d
This command will:
  • Build the Docker image with all dependencies
  • Initialize the SQLite database
  • Run database migrations automatically
  • Start the application on port 5000
3

Access the Application

Open your browser and navigate to:
http://localhost:5000
The first startup may take 1-2 minutes as Docker builds the image and initializes the database.

Quick Start with .NET CLI

For local development without Docker:
1

Clone and Navigate

git clone https://github.com/AlexanderAsprilla98/TorneoFutbol
cd TorneoFutbol/Torneo.App/Torneo.App.Frontend
2

Set Database Connection

export DATABASE_CONNECTION_STRING="Data Source=./Torneo.db"
On Windows PowerShell, use:
$env:DATABASE_CONNECTION_STRING="Data Source=./Torneo.db"
3

Run the Application

dotnet run
The application will be available at http://localhost:5000

Creating Your First Team

Once the application is running, follow these steps to create your first team:
1

Create a Municipality

Teams are associated with municipalities. Navigate to MunicipiosCreate.Fill in the municipality details:
  • Name: Enter a municipality name (3-50 characters, letters only)
  • Example: “Medellín” or “Bogotá”
Click Crear municipio to save.
Municipality names must contain only letters and spaces, between 3 and 50 characters.
2

Create a Technical Director

Every team needs a technical director (coach). Navigate to DTsCreate.Fill in the director’s information:
  • Name: Full name (3-30 characters)
  • Document: ID number (7-11 digits, no repeated digits)
  • Phone: Contact phone (7-12 digits)
Example:
Name: Carlos Rodriguez
Document: 12345678
Phone: 3001234567
Click Crear D.T. to save.
3

Create Your Team

Now you can create a team! Navigate to EquiposCreate.Fill in the team details:
  • Team Name: Enter team name (3-50 characters)
  • Municipality: Select from dropdown
  • Technical Director: Select from dropdown
Example:
Team Name: Águilas FC
Municipality: Medellín
Technical Director: Carlos Rodriguez
Click Crear equipo to save.
If you see an error message, make sure you have created at least one Municipality and one Technical Director first. The form will guide you to create these prerequisites.
4

Add Players to Your Team

With your team created, add players! Navigate to JugadoresCreate.Fill in player details:
  • Name: Player’s full name (3-50 characters)
  • Number: Jersey number (1-99)
  • Team: Select your newly created team
  • Position: Select player position
Example:
Name: Juan Pérez
Number: 10
Team: Águilas FC
Position: Delantero
Jersey numbers must be unique within a team and range from 1 to 99.

Understanding the Application Structure

The Tournament Management App consists of several key modules:

Teams (Equipos)

Manage tournament teams, including names, municipalities, and technical directors.

Players (Jugadores)

Register players with names, jersey numbers, teams, and positions.

Matches (Partidos)

Schedule and track matches between teams with scores and dates.

Standings (Posiciones)

View tournament standings with wins, losses, and points.

Database Information

The application uses SQLite as its database by default:
  • Database File: Torneo.db (automatically created)
  • Connection String: Configured via DATABASE_CONNECTION_STRING environment variable
  • Migrations: Automatically applied on startup in Docker
The database is created automatically when you first run the application. No manual setup is required.

Health Check

Verify your application is running correctly by accessing the health endpoint:
curl http://localhost:5000/health
A healthy response indicates:
  • The application is running
  • Database connection is successful
  • All services are operational

Next Steps

Now that you have your first team set up, explore more features:

Create Positions

Set up player positions for your tournament

Schedule Matches

Create and manage matches between teams

Match Management

Schedule and track tournament matches

Configuration

Customize application settings and behavior

Troubleshooting

Port Already in Use

If port 5000 is already in use:
# Edit docker-compose.yml to use a different port
ports:
  - "8080:80"  # Use port 8080 instead

Database Connection Issues

If you encounter database errors:
  1. Verify the DATABASE_CONNECTION_STRING environment variable is set
  2. Ensure the directory has write permissions for the database file
  3. Check that SQLite is properly installed (included in .NET 8.0)

Missing Dependencies

If the application fails to start:
# Restore NuGet packages
dotnet restore

# Clean and rebuild
dotnet clean
dotnet build

Getting Help

If you need assistance:

Build docs developers (and LLMs) love