How bjonne696/project-exam-2-holidaze works
Holidaze is a React accommodation-booking frontend for travelers and venue managers. Travelers browse and search listings, inspect venue details and availability, book stays, and manage bookings from their profile; managers register or change roles and create, update, and manage listings. The app routes users through role-specific pages, while API hooks perform remote operations and Zustand holds local authentication state. README capabilities such as search and availability calendars are included, but their exact wiring is not shown in the sampled source.
Main entry points: Layout.jsx Shared layout · useAuthHooks.jsx Identity API hooks · useVenuesApi.jsx Venue API hooks · ManagerProfilePage.jsx Manager dashboard
Components 22
App navigation
- Route app
src/App.jsx - Shared layout
src/components/layout/Layout.jsx
Identity and profile
- Customer profile
src/pages/ProfilePage.jsx - Login
src/pages/LoginPage.jsx - Registration
src/pages/RegisterPage.jsx - Identity API hooks
src/hooks/useAuthHooks.jsx - Auth state
src/stores/authStore.jsx
Venue discovery and bookings
- Venue search
src/pages/HomePage.jsx - Venue details
src/pages/VenuePage.jsx - Search filters
src/components/venues/VenueFilter.jsx - Venue results
src/components/venues/VenueList.jsx
Venue management
- Manager dashboard
src/pages/ManagerProfilePage.jsx - Create listing
src/components/venues/CreateVenueForm.jsx - Edit listing
src/components/venues/UpdateVenueForm.jsx - Venue card
src/components/venues/VenueItem.jsx
Data and API
- Venue API hooks
src/hooks/useVenuesApi.jsx - Booking API hooks
src/hooks/useBookingsApi.jsx - Venue state
src/stores/venuesStore.jsx - Booking state
src/stores/bookingsStore.jsx
Other components
- Traveler
- Venue manager
- Holidaze API
Connections 28
- Traveler → Route app: opens app
- Venue manager → Route app: opens app
- Route app → Shared layout: renders routes
- Shared layout → Venue search: routes to
- Shared layout → Venue details: routes to
- Shared layout → Customer profile: routes to
- Shared layout → Login: routes to
- Shared layout → Registration: routes to
- Shared layout → Manager dashboard: routes to
- Shared layout → Create listing: routes to
- Shared layout → Edit listing: routes to
- Venue search → Search filters: offers filters
- Venue search → Venue results: shows results
- Login → Identity API hooks: authenticates
- Registration → Identity API hooks: registers
- Customer profile → Identity API hooks: updates profile
- Identity API hooks → Auth state: updates state
- Customer profile → Booking API hooks: manages bookings
- Venue details → Booking API hooks: creates booking
- Manager dashboard → Venue API hooks: loads listings
- Manager dashboard → Identity API hooks: changes role
- Manager dashboard → Venue card: displays listings
- Create listing → Venue API hooks: creates listing
- Edit listing → Venue API hooks: loads and updates
- Venue details → Venue API hooks: loads venue
- Venue API hooks → Holidaze API: requests venue data
- Booking API hooks → Holidaze API: requests bookings
- Identity API hooks → Holidaze API: requests identity