Business dashboard
Sales KPIs, payment methods, top services, and barber performance.
Case study · 02 / 08
Bookings, queues, transactions, and commissions in one service flow.

A barbershop management system connecting the customer journey with internal operations—from appointments to barber payroll slips.
Key achievement
Connected booking, queues, checkout, and barber commissions in one traceable service lifecycle.

01 · Context
Primary users
The problem
Bookings, walk-in queues, payments, barber performance, and payroll are often recorded separately, creating schedule conflicts and difficult commission reconciliation.
The approach
The system creates one service lifecycle: appointments or walk-ins select a barber and service, transactions complete payment, and commissions feed payroll calculations.
Key numbers
02 · My role
Full-stack Engineer
Technology used
Built booking with time slots and a chosen barber to prevent schedule conflicts.
Built a queue board with waiting, in-progress, and done statuses.
Built checkout supporting cash, debit, QRIS, transfer, discounts, and promos.
Calculated commissions automatically and generated PDF salary slips for barbers.
03 · Highlights
Click an image to view it larger.
Swipe through them all, tap an image to enlarge it.
01 / 04
Sales KPIs, payment methods, top services, and barber performance.
Waiting, in-progress, and done queues updated live.
Daily transactions with their value and cashier.
Monthly payroll combining base pay and commissions.
04 · Challenges & decisions
01 / 02
05 · Outcome
Owners can read revenue and barber performance, front-desk staff can manage daily queues, and barbers receive traceable commission calculations.
User flow
Architecture
Experience
React SPA · queue board · booking · POS · dashboard
API
Laravel REST API · Sanctum · notification and PDF services
Business rules
booking slots · queue status · transactions · commissions
Data
MySQL relational model · scheduled jobs · email delivery
Data model
Customer
name
phone
visit_count
Barber
user_id
specialization
commission
Service
name
duration
price
Appointment
customer_id
barber_id
scheduled_at
Queue
appointment_id
number
status
Transaction
customer_id
payment_method
total
Transaction Item
transaction_id
service_id
barber_id
Salary Slip
barber_id
period
base
commission
