Back to projects
Barbershop · POS Private repository
Barbershop POS System
POS, scheduling and cash management for a barbershop, with WhatsApp, verified reviews and GPS attendance control.
- Type
- Custom system
- Database
- PostgreSQL
- Data models
- 33 models in PostgreSQL
What it solves
A barbershop runs on its schedule, its cash register and its team. This system brings it all together: bookings, point-of-sale payments, barber commissions, attendance and customer relationships, instead of notebooks, chats and loose sheets.
Key features
- Point of sale with payments, cash sessions and cash movements.
- Booking calendar with staff schedules, absences and blocked days.
- Commissions, advances, penalties and payouts for the staff.
- Verified reviews: after checkout a unique WhatsApp link tied to the ticket is sent, so each purchase allows a single review.
- Birthday discount: customers claim it from their portal and the front desk applies it in one click at the POS.
- Automatic DNI and RUC lookup to register customers and invoice faster.
- Electronic receipts and invoices issued through a SUNAT integration.
- GPS attendance control (geofencing): four daily check-ins, lateness tracking and photo-backed justifications.
Architecture and technical decisions
- NestJS 11 API with Prisma 6 on PostgreSQL 16.
- JWT authentication with roles, such as owner and front desk.
- Angular 21 admin panel with Tailwind 4 and a customer-facing web portal.
- Push notifications and automated WhatsApp messages.
- Images on Cloudinary and API documentation with Swagger.
- Docker Compose to run the database and the API.