Welcome to "The Wild Oasis Website" repository! This project is a customer-facing website for "The Wild Oasis," a boutique hotel with eight charming wooden cabins. The site enables guests to explore the hotel, view cabin details, make reservations, manage their profiles, and more.
"The Wild Oasis Website" is designed to offer potential and actual guests a seamless experience while interacting with the boutique hotel. Guests can explore the hotel, learn about its cabins, check availability, and make reservations. The website is built on Next.js, leveraging Supabase as the backend to manage data related to cabins, bookings, and guests.
This website integrates directly with an internal application previously developed for the hotel's staff to manage bookings, cabins, and guest information. Both the internal application and this customer-facing website share the same Supabase database and API. This ensures that any updates made to the cabins or bookings in the internal application are immediately reflected on the customer-facing website.
The Wild Oasis Website offers a variety of features to enhance the user experience for guests:
-
Explore the Hotel: Guests can visit the
/aboutpage to learn more about The Wild Oasis, its offerings, and its ambiance. -
View Cabin Information: The
/cabinspage allows guests to view all available cabins, with the ability to filter cabins by their maximum guest capacity. -
Check Cabin Details: On the
cabins/:cabinIdpage, guests can see detailed information about each cabin, including images, amenities, and booked dates. -
Make a Reservation: Guests can reserve a cabin for a specific date range directly from the
cabins/:cabinIdpage. Reservations are initially set to 'unconfirmed' and will be confirmed upon arrival at the property. -
Manage Reservations: Logged-in guests can view their reservation history, including past and future bookings, on the
/account/reservationspage. They can also update or delete their reservations from the/account/reservations/edit/:bookingIdpage. -
User Authentication: Guests must sign up and log in before they can make reservations or manage their profiles. Upon signing up, a profile is created in the database, which guests can update to expedite the check-in process.
-
Profile Management: Guests can update their profile information on the
/account/profilepage to ensure a smooth check-in experience when they arrive at the hotel.
Here are some screenshots showcasing the key pages and functionalities of The Wild Oasis Website:
-
Homepage: The main landing page with links to various sections.

-
About Page: Provides detailed information about The Wild Oasis.

-
Booking Process: Shows the steps involved in booking a cabin.

-
Reservation Deletion Confirmation: Confirms deletion of a reservation.

-
Cabins Page: Displays all cabins with sorting options by capacity.

-
Reservations History: Displays a guest’s past and future reservations.

-
Account Page: The guest's account area with options to manage profile and reservations.

The Wild Oasis Website is built using the following technologies and tools:
- Framework:
- A React framework for building fast and scalable web applications.
- UI State Management:
- For managing state across the application.
- Database/API:
- A backend as a service providing a PostgreSQL database with RESTful API endpoints.
- Styling:
- A utility-first CSS framework for rapidly building custom designs.
- Icons:
- A set of free, MIT-licensed high-quality SVG icons for React.
- Date Handling:
- A modern JavaScript date utility library.
- Authentication:
- Authentication for Next.js applications.
- React 18:
- A JavaScript library for building user interfaces.
- Date Picker:
- A flexible date picker component for React.
To run the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/yourusername/the-wild-oasis-website.git cd the-wild-oasis-website -
Install dependencies:
npm install
-
Set up environment variables:
Create a
.env.localfile in the root of your project and add your environment variables for Supabase, NextAuth, and other services. -
Run the development server:
npm run dev
The website will be available at
http://localhost:3000.
Once the development server is running, you can explore the website's various functionalities:
- Visit the homepage to start exploring.
- Use the navigation bar to visit different sections, like About, Cabins, and Account.
- Sign up and log in to manage reservations and profile details.
Feel free to reach out if you have any questions or suggestions!
- 📧 Email: [email protected]
- 🌐 Portfolio: paulanik.com
- 💼 LinkedIn: LinkedIn Profile
- 📝 Dev.to: Dev.to Profile



