How kenflor2305/ccad-midterm-exam works
This is a Laravel shelter-animal and adoption management application, with account registration, login, and email verification alongside animal records, adoption requests, approval, and payment records. The main domain flow is shelter staff recording animals, then creating and updating adoptions; approval is gated on completed spay/neuter status. Controllers coordinate validation, services, models, and rendered views. The excerpts show those domain calls, but not the web route definitions or payment workflow, so those connections are left out rather than inferred.
Main entry points: Adoption.php Adoptions · ShelterAnimalController.php Animal management · AdoptionController.php Adoption management · ShelterAnimal.php Shelter animals
Components 24
Shelter and adoption
- Animal management
app/Http/Controllers/ShelterAnimalController.php - Animal operations
app/Services/ShelterAnimalService.php - Adoption management
app/Http/Controllers/AdoptionController.php - Adoption operations
app/Services/AdoptionService.php - Payment records
app/Http/Controllers/AdoptionPaymentController.php
Account access
- Authentication
app/Http/Controllers/Auth/AuthenticatedSessionController.php - Registration
app/Http/Controllers/Auth/RegisteredUserController.php - Email verification
app/Http/Controllers/Auth/VerifyEmailController.php - Login validation
app/Http/Requests/Auth/LoginRequest.php - Profile settings
app/Http/Controllers/Settings/ProfileController.php - Profile validation
app/Http/Requests/Settings/ProfileUpdateRequest.php
Domain records
- Shelter animals
app/Models/ShelterAnimal.php - Adoptions
app/Models/Adoption.php - Adopters
app/Models/Adopter.php - Adoption payments
app/Models/AdoptionPayment.php - Database settings
config/database.php
Web interface
- Inertia middleware
app/Http/Middleware/HandleInertiaRequests.php - Adoption listing
resources/views/adoptions/index.blade.php - Animal listing
resources/views/shelter-animals/index.blade.php - React entry
resources/js/app.tsx - Adoption page
resources/js/pages/adoptions/index.tsx - Authentication pages
resources/js/pages/auth/login.tsx - Appearance preference
resources/js/hooks/use-appearance.tsx
Other components
- Shelter staff
Connections 22
- Shelter staff → Animal management: manages animals
- Animal management → Animal operations: delegates updates
app/Http/Controllers/ShelterAnimalController.php - Animal operations → Shelter animals: creates and updates
app/Services/ShelterAnimalService.php - Animal management → Shelter animals: lists animals
app/Http/Controllers/ShelterAnimalController.php - Animal management → Animal listing: renders listing
app/Http/Controllers/ShelterAnimalController.php - Shelter staff → Adoption management: manages adoptions
- Adoption management → Adoption operations: delegates changes
app/Http/Controllers/AdoptionController.php - Adoption operations → Adoptions: creates and updates
app/Services/AdoptionService.php - Adoption operations → Shelter animals: checks eligibility
app/Services/AdoptionService.php - Adoption management → Adoptions: loads listing
app/Http/Controllers/AdoptionController.php - Adoption management → Adoption listing: renders listing
app/Http/Controllers/AdoptionController.php - Adoptions → Adopters: belongs to adopter
app/Models/Adoption.php - Adoptions → Shelter animals: belongs to animal
app/Models/Adoption.php - Adoptions → Adoption payments: has payments
app/Models/Adoption.php - Payment records → Adoption payments: uses payment records
app/Http/Controllers/AdoptionPaymentController.php - Authentication → Login validation: authenticates with
app/Http/Controllers/Auth/AuthenticatedSessionController.php - Registration → Authentication pages: renders registration
app/Http/Controllers/Auth/RegisteredUserController.php - Authentication → Authentication pages: renders login
app/Http/Controllers/Auth/AuthenticatedSessionController.php - Inertia middleware → React entry: shares Inertia responses
- React entry → Appearance preference: initializes theme
resources/js/app.tsx - React entry → Adoption page: resolves page modules
resources/js/app.tsx - Profile settings → Profile validation: validates updates
app/Http/Controllers/Settings/ProfileController.php