BeautyHub Appointment Manager

Smart scheduling platform for beauty salons with staff and customer management

Planned Beauty Services

Problem Solved

Beauty salon owners manage appointments via phone calls and spreadsheets. This leads to double bookings, no-shows, and poor customer experience. BeautyHub centralizes bookings, staff schedules, and service history.

Core Features

  • Service catalog (manicure, pedicure, esthetics, etc.) with pricing
  • Real-time appointment availability based on staff schedules
  • Customer booking portal with calendar view
  • Staff shift management and availability tracking
  • Customer history with service notes and preferences
  • SMS/Email reminders 24h before appointments
  • Admin dashboard for revenue tracking and staff performance
  • Customer rating and review system

Technical Architecture

┌────────────────────────────────────┐
│   Angular Frontend (SPA + PWA)     │
│   - Customer Booking Portal        │
│   - Staff Mobile App               │
│   - Admin Dashboard                │
└──────────────┬─────────────────────┘
               │
      ┌────────┴────────┐
      │                 │
┌─────▼──────────────────▼──────┐
│   Spring Boot REST API        │
│   - Auth Service              │
│   - Appointment Service       │
│   - Staff Service             │
│   - Notification Engine       │
└──────────────┬─────────────────┘
      ┌────────┴─────────┬──────────┐
      │                  │          │
┌─────▼─────┐   ┌────────▼──┐  ┌──▼────┐
│PostgreSQL │   │ MongoDB   │  │Twilio │
│(Schedule) │   │(Notes &   │  │(SMS/  │
│           │   │ Prefs)    │  │Email) │
└───────────┘   └───────────┘  └───────┘
        

Tech Stack

Frontend

  • • Angular 21
  • • TypeScript
  • • RxJS
  • • TailwindCSS
  • • Service Worker (PWA)

Backend

  • • Java 17
  • • Spring Boot 3
  • • Spring Data JPA
  • • Twilio SDK

Data & DevOps

  • • PostgreSQL
  • • MongoDB
  • • Docker
  • • AWS RDS + DocDB

Technical Challenges

Optimistic Locking for Overbooking Prevention

Implemented optimistic concurrency control with version numbers. When two staff members try to book the same slot simultaneously, the database rejects the second write and forces a refresh.

Scheduling Conflicts & Time Zone Handling

Used database constraints and application-level validation with Java LocalDateTime to prevent overlapping appointments. Stored all times in UTC and converted to user timezone on frontend.

Future Improvements

  • Integration with Google Calendar and Outlook
  • AI-powered appointment reminders to reduce no-shows
  • Automated pricing suggestions based on demand
  • Package deals and gift certificate management
  • Multi-location support for salon chains

Axel Diego

Junior Full-Stack Developer

Connect

© 2026 Axel Diego. All rights reserved.

Built with Angular, TypeScript, and TailwindCSS