How pedrorodriguesufp/barbeariamodel works
This is a Laravel barbershop booking and management application: customers and staff use web workflows for services, appointments, calendars, payments, and reviews, while administrators manage barbers and users. The graph separates those domain areas from shared identity and the Eloquent model layer. Several controllers and routes are unsampled, so their links are dashed where the tree suggests a feature but no shown source establishes the call path; the supplied README describes Laravel, not this application’s capabilities.
Main entry points: Appointment.php Appointments · User.php Users and barbers · Service.php Services · AppointmentController.php Appointment workflow
Components 22
Booking and services
- Appointment UI
resources/views/appointments/index.blade.php - Appointment workflow
app/Http/Controllers/AppointmentController.php - Calendar
app/Http/Controllers/CalendarController.php - Barber availability
app/Http/Controllers/BarberController.php - Service catalog
app/Http/Controllers/ServiceController.php
Identity and operations
- Authentication
app/Http/Controllers/Auth/AuthenticatedSessionController.php - Registration
app/Http/Controllers/Auth/RegisteredUserController.php - Google login
app/Http/Controllers/Auth/GoogleLoginController.php - Barber administration
app/Http/Controllers/Admin/BarberController.php - Admin dashboard
app/Http/Controllers/Admin/DashboardController.php
Payments and reviews
- Payment workflow
app/Http/Controllers/PaymentController.php - Stripe gateway
app/Services/StripeGateway.php - Payment recorder
app/Services/StripePaymentRecorder.php - Stripe webhook
app/Http/Controllers/Api/StripeWebhookController.php - Review workflow
app/Http/Controllers/ReviewController.php
Domain records
- Services
app/Models/Service.php - Appointments
app/Models/Appointment.php - Users and barbers
app/Models/User.php - Payments
app/Models/Payment.php - Reviews
app/Models/Review.php
Other components
- Customer
- Stripe
Connections 32
- Customer → Appointment UI: uses
- Appointment UI → Appointment workflow: submits to
- Appointment workflow → Appointments: manages
- Appointment workflow → Services: selects
- Appointment workflow → Users and barbers: assigns barber
- Calendar → Appointments: schedules
- Barber availability → Users and barbers: checks availability
- Service catalog → Services: manages
- Authentication → Customer: authenticates
- Registration → Users and barbers: creates
app/Http/Controllers/Auth/RegisteredUserController.php - Google login → Users and barbers: finds or creates
app/Http/Controllers/Auth/GoogleLoginController.php - Barber administration → Users and barbers: manages
app/Http/Controllers/Admin/BarberController.php - Barber administration → Services: assigns services
app/Http/Controllers/Admin/BarberController.php - Admin dashboard → Appointments: summarizes
app/Http/Controllers/Admin/DashboardController.php - Admin dashboard → Payments: summarizes
app/Http/Controllers/Admin/DashboardController.php - Admin dashboard → Services: summarizes
app/Http/Controllers/Admin/DashboardController.php - Payment workflow → Stripe gateway: creates checkout
app/Http/Controllers/PaymentController.php - Payment workflow → Payment recorder: records checkout
app/Http/Controllers/PaymentController.php - Stripe gateway → Stripe: requests checkout
- Stripe webhook → Stripe gateway: verifies events
app/Http/Controllers/Api/StripeWebhookController.php - Stripe webhook → Payment recorder: records events
app/Http/Controllers/Api/StripeWebhookController.php - Payment recorder → Payments: persists payment
app/Services/StripePaymentRecorder.php - Review workflow → Appointments: loads completed
app/Http/Controllers/ReviewController.php - Review workflow → Reviews: creates reviews
app/Http/Controllers/ReviewController.php - Appointments → Services: references
app/Models/Appointment.php - Appointments → Payments: has payments
app/Models/Appointment.php - Appointments → Reviews: has reviews
app/Models/Appointment.php - Services → Reviews: receives reviews
app/Models/Service.php - Users and barbers → Appointments: has bookings
app/Models/User.php - Users and barbers → Services: offers
app/Models/User.php - Payments → Appointments: belongs to
app/Models/Payment.php - Reviews → Appointments: belongs to
app/Models/Review.php