Skip to main content
Hero Light

Welcome to Canchas Deportivas

Canchas Deportivas is a full-featured sports field booking management system built with ASP.NET Core 8.0 MVC. The application uses a three-tier architecture pattern (Presentation, Business, and Data layers) to provide a robust solution for managing sports facilities, client information, and reservation scheduling.

Quick Start

Get up and running in minutes with our step-by-step guide

Installation

Detailed installation and configuration instructions

Architecture

Learn about the three-tier architecture and project structure

API Reference

Explore controllers, models, and data access patterns

Key Features

Field Management

Create and manage multiple sports fields with pricing, types, and availability status

Client Registry

Maintain a comprehensive database of clients with contact information

Reservation System

Schedule and track bookings with time slots, dates, and field assignments

Search & Filter

Find reservations by client name and filter data across the system

Three-Tier Architecture

Clean separation of concerns with Presentation, Business, and Data layers

SQL Server Integration

Robust data persistence using stored procedures and Microsoft.Data.SqlClient

Technology Stack

The application is built on modern Microsoft technologies:
  • Framework: .NET 8.0
  • Pattern: ASP.NET Core MVC
  • Database: Microsoft SQL Server
  • Data Access: ADO.NET with Microsoft.Data.SqlClient
  • Architecture: Three-tier (Presentation, Business, Data)
The system uses stored procedures for all database operations, providing better performance and security.

Project Structure

The solution is organized into four main projects:
Canchas Deportivas Solution
├── capa_presentacion/    # MVC presentation layer
│   ├── Controllers/      # ReservasController, CanchasController, ClientesController
│   ├── Views/           # Razor views
│   └── wwwroot/         # Static files (CSS, JS, images)
├── capa_negocio/        # Business logic layer
│   └── CN_*.cs          # Business rules and validation
├── capa_dato/           # Data access layer
│   ├── CD_conexion.cs   # Database connection management
│   └── CD_*.cs          # Data operations with stored procedures
└── capa_entidad/        # Entity models
    └── CE_*.cs          # Domain entities and ViewModels

Core Entities

The system manages the following core entities:
Manages field bookings with date, time slots, client assignment, and field allocation.Key Properties:
  • IdReserva, IdCancha, IdCliente, IdUsuario
  • FechaReserva, HoraInicio, HoraFin
  • Comentario, Estado
Represents individual sports fields available for booking.Key Properties:
  • IdCancha, Nombre, Tipo
  • PrecioPorHora
  • Estado (availability status)
Stores client information for making reservations.Key Properties:
  • IdCliente, Nombre
  • Contact information
  • Reservation history
System users who create and manage reservations.Key Properties:
  • IdUsuario
  • User credentials and roles

What You’ll Build

With Canchas Deportivas, you can:
  1. Manage Sports Facilities: Add, update, and configure multiple sports fields with pricing and availability
  2. Track Clients: Maintain a complete client database with search and filtering capabilities
  3. Schedule Bookings: Create reservations with specific date/time ranges and field assignments
  4. Monitor Operations: View all bookings, search by client name, and track reservation status
  5. Ensure Data Integrity: Leverage stored procedures and three-tier architecture for reliable operations
This application requires Microsoft SQL Server and a properly configured database with the required stored procedures.

Next Steps

1

Quick Start

Follow the Quickstart Guide to get the application running in your local environment
2

Configure Database

Set up your SQL Server connection and create the required database schema
3

Explore Features

Learn about the architecture and explore the API reference to understand the system’s capabilities

Getting Help

Need assistance? Here are some resources:

Build docs developers (and LLMs) love