Jennifer Cerio, Full Stack DeveloperJennifer Cerio

Work/Case study

Booking & operations platform

From chat-based bookings to a complete operations platform.

I designed and developed a production booking and business-management platform that centralizes scheduling, customers, payments, staff, finance, analytics, and communication.

Glammed Nails homepage hero with studio photo and Book Now

Problem

The studio ran appointments over chat. Scheduling, deposits, staff assignment, and follow-up lived in messages, which made the calendar hard to trust and the day expensive to reconstruct.

Solution

A Next.js production system with public booking and a role-based admin platform: slots, technicians, customers, payments, invoices, finance, analytics, and communication in one place.

Outcome

Appointments, customers, deposits, staff, and finance now live in one operations platform instead of being assembled from chat.

Role

Design and full-stack development

Architecture

Engineering challenges

Replacing chat with a trustworthy calendar

Booking had to encode studio vs home service, dual technicians, express flows, and returning clients without leaving staff to reconcile the day from messages.

Permissions that match how a studio actually runs

SUPER_ADMIN, ADMIN, MANAGER, and STAFF each need different access to slots, finance, customers, and settings. Guards live on the API, not only in the UI.

Operations around the appointment

Deposits, invoices, quotations, media, feedback, bans, and audit logs had to sit on the same data model as the booking itself.

Features

Customer

  • Browse services and book online
  • Date, time slot, and nail technician selection
  • Studio or home-service booking
  • New and returning client flows
  • Dual-technician booking
  • Express manicure + pedicure flow
  • Payment proof and nail photo uploads
  • Booking confirmations and client feedback
  • SEO pages, structured data, and Open Graph

Admin platform

  • Dashboard and analytics
  • Appointment calendar and slot management
  • Create, edit, hide, and delete slots
  • Confirmation, rescheduling, and completion workflows
  • Deposit tracking, invoices, quotations, and finance
  • Customer profiles, VIP notes, and client bans
  • Staff and nail technician management
  • Website media, feedback, audit logs, and settings

Authentication & security

  • Credentials authentication and Google OAuth
  • bcrypt password hashing and session management
  • Custom role-based access control across SUPER_ADMIN, ADMIN, MANAGER, and STAFF
  • RBAC API guards, request validation, and security headers

Data model

MongoDB / Mongoose collections include:

bookingsslotscustomersbannedclientsnailtechsusersquotationsmediaassetssettingsauditlogsanalyticseventspushsubscriptionspasswordresettokensclientfeedbackfeedbacklinksbookingcountersnotificationlogs

Integrations

  • Cloudinary — payment proofs, nail photos, gallery and media
  • Resend — booking, payment, and password-reset email
  • Google Sheets API — pricing and spreadsheet backup
  • Meta Pixel and Conversions API
  • Web Push — admin notifications
  • jsPDF — quotations and invoices
  • Recharts — finance and dashboard visualization

Engineering

  • Server-side API route handlers and a domain service layer
  • Mongoose data models and authentication middleware
  • RBAC API guards and Zod request validation
  • Security headers
  • Jest tests, lint, TypeScript checks, and GitHub Actions CI
  • Production builds on Vercel

Technology

Next.js 16TypeScriptReactMongoDB AtlasMongooseNextAuth.jsTailwind CSSRadix UICloudinaryResendGoogle APIsVercelZodJestGitHub Actions