A full-stack cabin booking application built with Next.js, Supabase,Tailwind CSS, NextAuth.js and date-fns— featuring user authentication, an interactive reservation system, and fully responsive design.
Wild Oasis Booking is a platform that allows potential and actual guests to explore The Wild Oasis Hotel, browse cabins, and reserve their stays with ease. The app focuses on a smooth user experience with secure authentication and a reservation management system.
- Potential Guests: Can browse hotel and cabin information.
- Registered Guests: Can make, view, update, and delete cabin reservations.
- Guests can learn about The Wild Oasis Hotel.
- Guests can view detailed information and availability for each cabin.
- Filter cabins by their maximum guest capacity to find suitable options.
- Reserve cabins for a specified date range.
- Reservations are unpaid online; payment occurs at the hotel upon arrival.
- View past and future reservations.
- Update or delete existing reservations.
- Guests must sign up and log in to make or manage reservations.
- On sign-up, a profile is created automatically in the database.
- Guests can update their profile information to facilitate faster check-in.
| Technology | Purpose |
|---|---|
| Next.js | React framework for frontend |
| Supabase | Backend (database) |
| Tailwind CSS, | Styling and responsive UI |
| NextAuth.js | Authentication |
| date-fns | Handling dates |
| Vercel | Deployment platform |
To run this project locally:
Clone the repo:
git clone https://github.com/rabiul7772/The-wild-oasis-customer-website.git
Install dependencies:
npm install
Set up environment variables:
You’ll need to configure Supabase and NextAuth (Google sign-in). Add your environment variables in a .env.local file. Check out the .env.local.example for what you need to include.
Run the development server:
npm run dev
Open http://localhost:3000 to see the app.
Author 👤 MD.Rabiul Akand
LinkedIn - linkedin.com/in/rabiul-akand
Feel free to contact me with any questions or feedback!
Acknowledgments
This application was created as part of the Udemy course taught by Jonas Schmedtmann. His clear teaching approach and expert guidance played a crucial role in helping me develop this project and deepen my understanding of Next.js. I’m sincerely grateful to Jonas for providing such an engaging and valuable learning experience.