How annikaeld/holidaze works
Holidaze is a React accommodation-discovery and booking application. Travellers enter through the routed home/listing experience, search with destination, dates and guest count, refine results, and open venue details; a booking summary route and booking UI are present, while booking completion is documented as under development. Authentication pages use the Noroff auth API, with shared auth context exposed to the app and header. The README describes galleries, description formatting, filters and planned maps; some subsystem links are documented rather than verified in sampled code.
Main entry points: AppRoutes.tsx Route dispatch · VenueDetailsPage.tsx Venue details · VenuesPage.tsx Venue listings · venuesApi.ts Venue API
Components 23
App shell
- Application
src/App.tsx - Route dispatch
src/routes/AppRoutes.tsx - App layout
src/components/layout/AppLayout.tsx - Account navigation
src/components/layout/Header.tsx
Venue discovery
- Home search
src/features/venues/pages/HomePage.tsx - Venue listings
src/features/venues/pages/VenuesPage.tsx - Search form
src/features/venues/components/VenueSearchForm.tsx - Venue filters
src/features/venues/components/VenueFilters.tsx - Pagination
src/features/venues/components/Pagination.tsx - Venue API
src/features/venues/services/venuesApi.ts - Venue card
src/features/venues/components/VenueCard.tsx
Venue details
- Venue details
src/features/venues/pages/VenueDetailsPage.tsx - Image gallery
src/features/venues/components/VenueGallery.tsx - Description view
src/features/venues/components/VenueDescription.tsx - Location map
src/features/venues/components/VenueMap.tsx
Booking
- Booking card
src/features/venues/components/BookingCard.tsx - Booking summary
src/features/venues/pages/BookingSummaryPage.tsx
Identity
- Login and register
src/features/auth/pages/LoginPage.tsx - Auth API
src/features/auth/services/authApi.ts - Auth context
src/features/auth/context/AuthContext.tsx
Other components
- Traveller
- Noroff venues API
- Noroff auth API
Connections 28
- Traveller → Route dispatch: navigates
src/routes/AppRoutes.tsx - Application → Auth context: provides auth
src/App.tsx - Application → Route dispatch: renders routes
src/App.tsx - Route dispatch → App layout: wraps pages
src/routes/AppRoutes.tsx - Route dispatch → Home search: routes to
src/routes/AppRoutes.tsx - Route dispatch → Venue listings: routes to
src/routes/AppRoutes.tsx - Route dispatch → Venue details: routes to
src/routes/AppRoutes.tsx - Route dispatch → Login and register: routes to
src/routes/AppRoutes.tsx - Route dispatch → Booking summary: routes to
src/routes/AppRoutes.tsx - Home search → Search form: renders
src/features/venues/pages/HomePage.tsx - Venue listings → Venue API: fetches results
src/features/venues/pages/VenuesPage.tsx - Venue listings → Search form: renders
src/features/venues/pages/VenuesPage.tsx - Venue listings → Venue filters: renders
src/features/venues/pages/VenuesPage.tsx - Venue listings → Pagination: renders
src/features/venues/pages/VenuesPage.tsx - Venue listings → Venue card: renders results
src/features/venues/pages/VenuesPage.tsx - Venue API → Noroff venues API: requests data
src/features/venues/services/venuesApi.ts - Venue details → Venue API: loads venue
src/features/venues/pages/VenueDetailsPage.tsx - Venue details → Image gallery: renders
src/features/venues/pages/VenueDetailsPage.tsx - Venue details → Description view: renders
src/features/venues/pages/VenueDetailsPage.tsx - Venue details → Booking card: renders
src/features/venues/pages/VenueDetailsPage.tsx - Venue details → Location map: renders
src/features/venues/pages/VenueDetailsPage.tsx - Booking summary → Venue API: loads venue data
src/features/venues/pages/BookingSummaryPage.tsx - Login and register → Auth API: submits credentials
src/features/auth/pages/LoginPage.tsx - Auth API → Noroff auth API: authenticates
src/features/auth/services/authApi.ts - Account navigation → Auth context: reads session
src/components/layout/Header.tsx - Booking card → Auth context: reads user
src/features/venues/components/BookingCard.tsx - Venue details → Location map: shows map
README.md - Booking card → Booking summary: continues booking