Ákos Puteáni-Holl

Project 03

Padel Booking Platform

An end-to-end platform for a padel club with court booking, payments, invoicing, administration and player rankings. I designed, built, deployed and operate the product independently.

Padel Sopron booking platform homepage
Public booking entry
Role
Creator / Full-stack Software Engineer
Stack
React · Next.js · TypeScript · Node.js · NestJS · Prisma · PostgreSQL · Stripe · Számlázz.hu API · Docker · GitHub Actions
Status
Live product

Interface

Desktop screens get wide space, mobile screens keep their natural tall rhythm, and missing assets stay visible as export targets.

Add screenshot

Padel Sopron court availability and booking screen

public/projects/padel-sopron/web-booking.webp

Padel Sopron court availability and booking screenpublic/projects/padel-sopron/web-booking.webp

Add screenshot

Padel Sopron booking confirmation and payment screen

public/projects/padel-sopron/web-payment.webp

Padel Sopron booking confirmation and payment screenpublic/projects/padel-sopron/web-payment.webp

Add screenshot

Padel Sopron admin bookings calendar screen

public/projects/padel-sopron/web-admin-bookings.webp

Padel Sopron admin bookings calendar screenpublic/projects/padel-sopron/web-admin-bookings.webp

Add screenshot

Padel Sopron invoices and payment administration screen

public/projects/padel-sopron/web-invoices.webp

Padel Sopron invoices and payment administration screenpublic/projects/padel-sopron/web-invoices.webp

Add screenshot

Padel Sopron player rankings screen

public/projects/padel-sopron/web-rankings.webp

Padel Sopron player rankings screenpublic/projects/padel-sopron/web-rankings.webp

Case study

How the product was shaped.

Problem

The product needed to feel personal.

The club needed more than a marketing website: players had to book courts, pay online, receive invoices and record match results, while operators needed reliable administration and visibility into day-to-day club activity.

Approach

The work stayed close to real product flows.

I built a full-stack platform with a React frontend, a NestJS backend, PostgreSQL data model, payment and invoicing integrations, transactional email, admin workflows and Docker-based deployment.

Result

The outcome is a working product, not a concept.

The platform runs as the club's live booking and management system, covering the customer booking journey, online payment, invoicing, match results, rankings and daily administration.

Decisions and trade-offs

  • Built a custom booking product instead of forcing the club into a generic tool, because court availability, Hungarian invoicing and ranking workflows needed to fit the business.
  • Kept frontend and backend separated behind an explicit API boundary so public booking flows and admin operations can evolve independently.
  • Used PostgreSQL and Prisma for relational booking, payment, invoice and ranking data where consistency matters more than schema flexibility.
  • Added admin surfaces for bookings, courts, users, invoices, gifts, statistics and ranking so operational work could live inside the product.

Key contributions

  • Designed and built the React and TypeScript frontend and the Node.js and NestJS backend
  • Implemented court booking, availability and calendar workflows
  • Built custom authentication, user management, admin tools and a statistics dashboard
  • Added player rankings and match-result recording
  • Integrated Stripe payments, Számlázz.hu invoicing and transactional email
  • Containerized the services and automated deployment with GitHub Actions

Missing images

Screenshot slots to export next.

  • Padel Sopron court availability and booking screenpublic/projects/padel-sopron/web-booking.webp
  • Padel Sopron booking confirmation and payment screenpublic/projects/padel-sopron/web-payment.webp
  • Padel Sopron admin bookings calendar screenpublic/projects/padel-sopron/web-admin-bookings.webp
  • Padel Sopron invoices and payment administration screenpublic/projects/padel-sopron/web-invoices.webp
  • Padel Sopron player rankings screenpublic/projects/padel-sopron/web-rankings.webp