How bjonne696/ferieplassen works
Ferieplassen is a Norwegian vacation-rental marketplace frontend. Visitors browse distinct listing collections, inspect cabins, and submit booking requests; signed-in owners create listings, manage requests and subscriptions, and use profile features. Admins manage platform data and discount codes. The graph captures documented payment and contact integrations as well as sampled service behavior. Some page-to-feature wiring and unsampled subsystem internals are inferred only from the README’s architectural overview; uncertain implementation links are omitted.
Main entry points: App.jsx Routes · useNewCabinForm.js Listing form flow · listingService.js Listing queries · subscriptionService.js Subscriptions
Components 25
Application routing
- Routes
src/App.jsx
Cabin discovery
- Home listings
src/pages/HomePage.jsx - Rental listings
src/pages/TilLeiePage.jsx - Newest listings
src/pages/NyeHytterPage.jsx - Popular listings
src/pages/PopularPage.jsx - Listing queries
src/services/listingService.js - Cabin details
src/pages/ShowCabinPage.jsx
Bookings and reviews
- Booking form
src/components/cabins/BookingRequestModal.jsx - Booking workflow
src/hooks/useBookingRequest.js - Owner requests
src/components/bookings/OwnerRequests.jsx - Submit review
src/components/reviews/AddReviewForm.jsx
Owner and admin
- Create listing
src/pages/NyHyttePage.jsx - Listing form flow
src/hooks/useNewCabinForm.js - Listing creation
src/services/createCabinListing.js - Cabin operations
src/services/newCabinService.js - Subscriptions
src/services/subscriptionService.js - Owner profile
src/pages/MinProfilPage.jsx - Admin tools
src/pages/AdminPage.jsx - Discount codes
src/components/admin/DiscountCodeManager.jsx
Platform services
- Auth provider
src/contexts/AuthProvider.jsx - Supabase
- Payment callback
src/hooks/useVippsCallback.js - Contact form
src/components/contact/ContactForm.jsx
Other components
- Visitor or user
- Vipps
Connections 35
- Visitor or user → Routes: opens
- Routes → Home listings: routes
- Routes → Rental listings: routes
- Routes → Newest listings: routes
- Routes → Popular listings: routes
- Routes → Cabin details: routes
- Routes → Create listing: routes
- Routes → Owner profile: routes
- Routes → Admin tools: routes
- Routes → Payment callback: routes
- Routes → Auth provider: reads identity
- Home listings → Listing queries: loads listings
- Rental listings → Listing queries: loads listings
- Newest listings → Listing queries: loads listings
- Popular listings → Listing queries: loads listings
- Listing queries → Supabase: reads cabins, reviews, bookings
- Booking form → Booking workflow: handles requests
- Booking workflow → Supabase: reads and writes requests
- Booking workflow → Supabase: notifies owner
- Submit review → Supabase: writes review
- Listing form flow → Auth provider: reads user
- Create listing → Listing form flow: uses form flow
- Listing form flow → Listing creation: creates listing
- Listing form flow → Cabin operations: uploads and inserts
- Listing form flow → Subscriptions: creates subscription
- Listing creation → Supabase: stores listing
- Cabin operations → Supabase: stores cabin and images
- Subscriptions → Supabase: validates discounts
- Subscriptions → Vipps: creates agreement
- Owner profile → Subscriptions: manages subscription
- Admin tools → Discount codes: manages codes
- Discount codes → Supabase: reads and writes codes
- Payment callback → Supabase: checks subscription
- Payment callback → Vipps: activates demo
- Contact form → Supabase: sends contact request