02 / Full-Stack Web Application

Yankiii Barber Co.

A full-stack barbershop booking platform with service browsing, barber selection, availability, customer authentication, appointment booking, customer dashboard, and administrative management.

Yankiii Barber Co. homepage hero and service highlights
01 — Homepage: Brand introduction, service highlights, and booking entry point.
Yankiii Barber Co. appointment booking interface
02 — Appointment Booking: Service selection, barber preference, schedule availability, and booking summary.
Yankiii Barber Co. customer dashboard
03 — Customer Dashboard: Customer account overview displaying appointment history and booking status.
Yankiii Barber Co. admin dashboard
04 — Admin Dashboard: Manage bookings, services, barbers, and operational barbershop data.
Yankiii Barber Co. responsive mobile interface
05 — Mobile Experience: Responsive mobile interface designed for on-the-go service browsing and bookings.

Problem

Booking a barbershop appointment involves multiple coordinated decisions: selecting a service, choosing a barber, checking real-time availability, and confirming the appointment schedule. Yankiii Barber Co. brings these steps into a unified full-stack application while providing an administrative management interface for barbershop staff to manage services, barbers, and bookings.

My role

I designed and developed the project as a full-stack web application, implementing the customer-facing interface, booking workflow, customer authentication, backend REST API, database schema, and administrative dashboard.

Key features

Service browsing
Barber selection
Barber availability
Appointment booking
Customer authentication
Customer dashboard
Admin dashboard
Booking management
Responsive mobile UI

Stack

HTML, CSS, JavaScript, Node.js, Express.js, MySQL, JWT, bcrypt, Nodemailer, Express Rate Limit, and CORS. The application is deployed on Vercel.

Architecture & technical breakdown

Frontend + Backend HTML / CSS / JavaScript
Backend Node.js / Express.js
Database MySQL
Authentication JWT / bcrypt
Email / Security Nodemailer / Rate Limit / CORS
Deployment Vercel

A hard problem

Coordinating appointment availability across individual barbers and business hours while preventing double-bookings. The backend enforces structured booking logic across controllers, routes, and middleware, ensuring that customer authentication, barber schedules, and appointment slots remain consistent and validated.

What I would do differently

I would continue improving the system around production readiness, expanding automated end-to-end testing for peak booking concurrency, adding customer SMS notifications alongside email confirmations, and providing barbershop staff with richer operational reporting.

Visit live site (opens in a new tab)