
Enes Kaplan: Salon Site & Booking System
A hair studio in Merkezefendi, Denizli that ran its bookings over the phone and a paper notebook. The site replaces both. A customer picks a service, a specialist, a day and a time, leaves a name, phone and email, and the appointment is confirmed on the spot. No account, no password, no owner approval step. The calendar computes genuinely free slots from the service duration, the weekly opening hours, one-off day exceptions and logged breaks, so a double booking cannot be created. Slots run in fifteen-minute steps, the earliest is two hours out, the furthest is thirty days, and the customer can cancel their own appointment up to two hours before through a link that is unique to that booking. The confirmation email carries the address, an add-to-calendar button and that cancel link; a reminder goes out twenty-four hours ahead from an hourly cron job. The owner runs the calendar, services, team, gallery, blog and announcements from one panel that works on a phone, so no computer is needed in the salon. Announcements use ready-made templates and appear quietly on the site rather than as a popup. Next.js 16, React 19, TypeScript, Tailwind, MySQL with Drizzle, Tiptap for the blog, Argon2 password hashing, JWT sessions. Hosted on Hostinger Node.js with deploys straight from the repository, mail sent from the salon's own domain, and uploaded photos resized and compressed automatically. Installable to the phone home screen.
- Booking
- No account
- Self-cancel
- Up to 2 h before
- Reminder
- 24 h ahead
Screens





