This is the foundation that turns Mirror Masters Salon from a front-end website into a real salon operating system.
| Table | Purpose | Main Fields |
|---|---|---|
| users | Login accounts for clients, staff, admins, and owner. | id, name, email, phone, password_hash, role, created_at |
| clients | Client profile details. | user_id, birthday, favorite_master, favorite_service, notes, rewards_points |
| staff | Master profiles and permissions. | user_id, title, bio, specialties, profile_image, role_level, active |
| services | Main services offered by each Master. | id, staff_id, category, name, description, price, duration, active |
| addons | Add-ons connected to services. | id, staff_id, name, price, duration, active |
| appointments | Every booking made through the website. | id, client_id, staff_id, service_id, date, time, status, total, deposit_paid |
| appointment_addons | Add-ons selected for each appointment. | appointment_id, addon_id |
| payments | Deposits, balances, tips, refunds, and product sales. | id, appointment_id, client_id, staff_id, amount, type, status, processor_id |
| products | Shop products and merchandise. | id, name, category, price, inventory, image, active |
| orders | Product and merchandise orders. | id, client_id, total, status, pickup_or_shipping, created_at |
| reviews | Client reviews after appointments. | id, client_id, staff_id, rating, comment, created_at |
| rewards | Rewards activity. | id, client_id, points, reason, created_at |
| Role | Access |
|---|---|
| Owner — Ty Leonard | Full access to personal information, staff information, client information, entire shop revenue, reports, products, appointments, and settings. |
| Admin — Breunsha Jones | Full access to personal information, staff information, client information, entire shop revenue, reports, products, appointments, and settings. |
| Employee | Personal revenue, personal appointments, personal deposits, personal product sales, personal service breakdown, personal reports, personal alerts, entire shop appointments view, entire shop clients view. |
| Client | Own profile, appointments, receipts, rewards, reviews, favorites, and booking history. |
Current HTML/CSS/JavaScript can continue as the design foundation. Later we can move to React or Next.js if needed.
Node.js + Express or Supabase backend. Supabase is fastest because it includes database, login, and security rules.
Stripe or Square. Square may fit salon and product checkout well; Stripe is strong for custom web payments.
| Step | What Gets Built |
|---|---|
| 1 | Choose backend provider: Supabase, Firebase, custom Node.js, or WordPress/WooCommerce style backend. |
| 2 | Create database tables for users, staff, services, add-ons, appointments, and payments. |
| 3 | Connect client signup/login to My Mirror. |
| 4 | Save real appointment bookings into the database. |
| 5 | Feed Owner/Admin dashboard and Staff dashboard from real appointment data. |
| 6 | Add payment processing and deposit rules. |
| 7 | Add product store and inventory tracking. |