How larstp/holidaze works
Holidaze is a React accommodation-booking platform for visitors, customers, and venue managers. Visitors discover and filter stays, then view venue details and availability; customers authenticate and book stays, while managers list venues and manage bookings. The shared API client connects domain services to the Noroff API, and authenticated profile data supports separate customer and manager dashboards. The README documents the broader feature set; sampled source confirms routing, search-filter state, authentication requests, API transport, and manager overview/venue data access, so other links are omitted where wiring was not sampled.
Main entry points: App.tsx Route application · profileService.ts Profile service · apiClient.ts API client · venueService.ts Venue service
Components 24
Stay discovery
- Home page
src/pages/Home/Home.tsx - Venue search
src/pages/Search/Search.tsx - Search filters
src/hooks/useSearchFilters.ts - Search data hook
src/hooks/useSearchVenues.ts - Venue details
src/pages/Venue/Venue.tsx - Venue data hook
src/hooks/useVenue.ts
Accounts and profiles
- Login and registration
src/pages/Login/Login.tsx - Session context
src/context/AuthContext.tsx - Profile settings
src/pages/ProfileSettings/ProfileSettings.tsx
Booking and management
- Customer trips
src/pages/Dashboard/Dashboard.tsx - Manager overview
src/pages/ManagerOverview/ManagerOverview.tsx - Manager venues
src/pages/ManagerVenues/ManagerVenues.tsx - Incoming bookings
src/pages/IncomingBookings/IncomingBookings.tsx - Venue management
src/pages/CreateVenue/CreateVenue.tsx - Booking service
src/lib/services/bookingService.ts
API integration
- Authentication service
src/lib/services/authService.ts - Profile service
src/lib/services/profileService.ts - Venue service
src/lib/services/venueService.ts - API client
src/lib/services/apiClient.ts
Other components
- Visitor
- Customer
- Venue manager
- Route application
src/App.tsx - Noroff Holidaze API
Connections 30
- Visitor → Route application: opens
- Customer → Route application: opens
- Venue manager → Route application: opens
- Route application → Home page: routes
- Route application → Venue search: routes
- Route application → Venue details: routes
- Route application → Login and registration: routes
- Route application → Customer trips: routes
- Route application → Manager overview: routes
- Route application → Manager venues: routes
- Route application → Incoming bookings: routes
- Route application → Venue management: routes
- Venue search → Search filters: reads and updates
- Venue search → Search data hook: loads results
- Search data hook → Venue service: searches venues
- Venue details → Venue data hook: loads venue
- Venue details → Booking service: creates booking
- Login and registration → Authentication service: registers or logs in
- Session context → Authentication service: authenticates
- Profile settings → Profile service: updates profile
- Manager overview → Profile service: loads profile data
- Manager venues → Profile service: loads venues
- Manager venues → Venue service: deletes venue
- Incoming bookings → Profile service: loads bookings
- Venue management → Venue service: manages venue
- Authentication service → API client: sends requests
- Profile service → API client: sends requests
- Venue service → API client: sends requests
- Booking service → API client: sends requests
- API client → Noroff Holidaze API: fetches API data