BeautySalon
Role / Services
Full-stack development
Context
Booking platform
Location & year
Hungary ©
Overview
Self-service booking without double bookings.
BeautySalon is an appointment booking platform for salons. Customers choose services, pick a time and book or cancel on their own, while administrators manage availability. It replaces phone-based bookings and spreadsheet tracking.
It was built as a production-oriented system, with the emphasis on transactional consistency, secure authentication and long-term maintainability. The screenshots show it running under the demo brand Amoy.

Key features
Appointments
Real-time booking and cancellation, conflict prevention for overlapping reservations, and validation at every step of the booking flow.
Accounts & roles
Sign-in with Google and Facebook through OAuth, token-based authorization and role-based permissions.
Administration
Administrators manage availability, while the backend enforces the business rules of every booking.
Architecture
Blazor SSR on a layered ASP.NET Core backend.
The frontend is a Blazor Web App using server-side rendering for fast first loads, built from reusable components. Secured ASP.NET Core endpoints orchestrate appointments, users and business rules.
Data lives in SQL Server on Azure. Dapper was chosen over a full ORM for explicit control of the SQL and predictable query behaviour, with the booking logic encapsulated in a repository layer.
The hard part
Preventing double bookings under concurrent load.
Client-side checks cannot stop two customers from booking the same slot at the same moment. Bookings are therefore validated inside database transactions and written atomically, so overlapping reservations are rejected even when requests arrive together.
Appointments are modelled as normalized time intervals derived from service durations, with the overlap rules validated in one central place.
Technologies
- Blazor Web App (SSR)
- ASP.NET Core
- C#
- SQL Server
- Dapper
- OAuth 2.0
- Microsoft Azure
