.NET 8 Padel court booking platform for the UAE

Find a court. Split the bill. Just play.

Court booking, split payments, tournaments and a full operator console — delivered as one ASP.NET Core 8 application with a customer website, installable mobile app, REST API and admin console.

ASP.NET Core 8/SQL Server/PWA/REST API/Docker
padelnation.r-y-x.net
PadelNation home page
Booking confirmation
Tournament card
Live court availability grid
Split the bill
Live availability grid
Tournaments
Installable PWA
Walk-in calendar
Coupons
Six CSV reports
REST API
AED · Gulf Standard Time
Docker
49
4
37
~20k
6
What sets it apart

Built for padel, not retro‑fitted.

Five things that distinguish PadelNation from general-purpose booking software.

01 · Feature

Split the bill, built in

Book a court and invite up to three partners, each of whom gets their own invitation to pay their share, so no one chases anyone for cash.

Booking modal with deposit options
02

Slot-accurate availability

A booking reserves every half-hour it actually occupies, so a 90-minute game blocks the full 90 minutes and the grid never offers a time that will fail at checkout.

Availability grid
03

One calendar for online and walk-in

Front-desk bookings and app bookings write to the same live availability and the same rate card, so a court can never be sold twice or at two different prices.

04

Installable app, no app store

Customers add it to their home screen straight from the browser and it opens full-screen like a native app — no download, no review queue, no update to push.

Mobile venue page
05

Built for the UAE

Prices in AED, times in Gulf Standard Time and mobile-number sign-in, rather than a global platform retro-fitted to the region.

AED Gulf Standard Time Mobile sign-in Dubai · Abu Dhabi · Sharjah

Tamper-proof pricing

Every booking is priced by the server from the venue’s own rate card, and coupon codes are re-validated server-side at the moment of booking. A modified app or a hand-crafted request cannot book a court for less than it costs.

Customer website

From search to confirmed court.

Players find a venue by search or GPS, pick a court and time slot, book with a deposit, and split the bill with up to three partners.

padelnation.r-y-x.net
PadelNation home screen PadelNation venue page screen PadelNation booking screen PadelNation tournament screen
Hover the screen to scroll the page
Feature list

One platform, two audiences.

Players book, split and compete. Venue operators manage courts and pricing, take walk-ins on a live calendar, and report on revenue and commission.

Players · 6 features

Discovery

Find a venue by search or GPS.

  • Venue search across name, address, city, branch and court names
  • Nearby venues by GPS, sorted by distance with kilometres shown
  • Filter by city
  • Venue pages with photo gallery, amenities, opening hours, indoor and outdoor court counts, parking, map link and contact details
  • Branch and court listings with live hourly pricing
  • Promotional banners on the home screen
Technical details

Clean architecture on .NET 8.

Four projects, dependencies pointing inward only — swapping the database or the web framework touches only the outer rings.

Architecture

WebREST API, admin area and customer site
InfrastructureEF Core, repositories, Dapper, JWT, seeding, DI
ApplicationInterfaces, DTOs and business services
Domain37 entities and enums. No dependencies.

Two data paths, deliberately. Writes go through EF Core for change tracking, transactions and a unit of work. List, report and availability screens read through hand-tuned Dapper SQL against indexed tables.

Technology stack

Runtime
.NET 8, C#, ASP.NET Core MVC
Writes
Entity Framework Core 8 — repository + unit of work
Reads
Dapper — hand-tuned SQL for dashboards, availability and reports
Database
SQL Server 2016+ (2019+ recommended); Express and LocalDB
Admin UI
Razor views, cookie authentication
Customer UI
Vanilla JavaScript, no build step, service worker + manifest
API auth
JWT bearer
Charts / Maps
Chart.js 4 · OpenStreetMap
Hosting
IIS in-process, Linux with Nginx, or Docker

Security

Deny by default. Identity from the token, never the request.
Two auth schemesCookies for the operator console (8-hour sliding), JWT bearer for the customer API (30-day). An admin cookie cannot satisfy the API policy.
Server-authoritative pricingBooking requests carry no money fields; the server prices from the court rate card and re-validates coupons.
PBKDF2-SHA256100,000 iterations with per-user salt and constant-time comparison.
CSRF & secretsAntiforgery tokens on every operator POST. No credentials in source; refuses to start with a placeholder signing key.
Deployment

Three targets. No build step.

docker compose up

Docker

One command brings up SQL Server, applies the schema, loads demo data and starts the application.

Ubuntu 22.04

Linux

ASP.NET Core runtime, managed by systemd behind an Nginx reverse proxy.

IIS 10

Windows

IIS in-process hosting via the .NET 8 Hosting Bundle.

Minimum2 vCPU / 4 GB
Recommended4 vCPU / 8 GB
DatabaseSQL Server 2016+, Express supported
Est. hostingUSD 60–90 / month
BrowsersChrome/Edge 80+, Firefox 72+, Safari 13.1+
AI-ready codebase

Extend it with Claude, Codex or Antigravity.

The project can be modified with Claude, Codex and Antigravity. Open the solution in your AI coding agent of choice and build on it.

Unobfuscated source Clean architecture API reference & data model docs No build step
What is included

Complete source. No obfuscation.

SourceComplete .NET 8 solution, four projects, no obfuscation.
Databaseschema.sql creates everything from scratch; seed.sql loads demo data.
DocumentationREADME, setup guide, API reference, data model, changelog.
Configurationappsettings.example.json documenting every setting.
Dockerdocker-compose stack with automatic database provisioning.
Demo data
5
venues
8
branches
37
courts
64
members
622
bookings
6
tournaments
Roadmap

These have database tables and operator screens in place, with the business logic still to be built. Listed here rather than presented as working features.

Retail storefront Tournament fixtures & brackets Push notification delivery Online card capture SMS one-time codes Role permission enforcement Arabic & RTL

Launch your padel booking platform.

Customer website, installable app, REST API and operator console — in one .NET 8 solution with source, database scripts, documentation and a Docker stack.

Tournament page
Team registration card