An open API service indexing awesome lists of open source software.

https://github.com/codewithalamin/the-wild-oasis-booking

Hotel booking app - Next.js web app where customers can book cabins, manage bookings, and update profiles with Google sign-in and Supabase integration.
https://github.com/codewithalamin/the-wild-oasis-booking

authjs fullstack-development hotel-booking-website nextauthjs nextjs nextjs14 the-wild-oasis wild-oasis

Last synced: about 2 months ago
JSON representation

Hotel booking app - Next.js web app where customers can book cabins, manage bookings, and update profiles with Google sign-in and Supabase integration.

Awesome Lists containing this project

README

        

logo

The Wild Oasis - Booking



Live Site


View website

Report Bug

Request Feature


[![LinkedIn](https://img.shields.io/badge/LinkedIn-Connect-blue?style=for-the-badge&logo=linkedin)](https://www.linkedin.com/in/CodeWithAlamin)
[![Twitter Follow](https://img.shields.io/twitter/follow/CodeWithAlamin?style=for-the-badge&logo=x)](https://x.com/CodeWithAlamin)

![status](https://img.shields.io/badge/Status-Completed-success?style=flat)


Welcome to The Wild Oasis! This is the customer version of the hotel management web app, where users can view and book cabins based on availability, manage their bookings, and update their profiles. This project was a great learning experience for me as I explored Next.js, Auth.js (NextAuth), and many other advanced techniques.

![Screenshot](./public/thumbnail.png)

## Live Site

Check out the live app here: [The Wild Oasis - Booking](https://the-wild-oasis-booking-alamin.vercel.app/)

## Admin Version

I also built an **admin version** of this app for hotel employees to manage cabins, bookings, and guests. The repository is [here](https://github.com/CodeWithAlamin/The-Wild-Oasis), and the live site is [here](https://the-wild-oasis-alamin.vercel.app).

## Features

- View all available cabins with descriptions and images.
- Book a cabin based on available dates and select the number of guests.
- Sign in with Google to manage bookings.
- View your booked cabins, edit them, or cancel if needed.
- Update your profile information.
- Fully responsive on all devices (I made sure to make it mobile-friendly!).

## Technologies Used

- **Next.js** (App Router)
- **Tailwind CSS** for styling
- **Supabase** for the database (shared with the admin app)
- **NextAuth.js** for authentication (Google sign-in)
- **Date-fns** for date handling

## What I Learned

This project deepened my knowledge of Next.js (especially the App Router) and introduced me to using libraries like NextAuth.js. I learned to build a fully functional booking system, integrate user authentication, and ensure the app is responsive on all devices.

## Setup Instructions

To run this project locally:

1. Clone the repo:
```bash
git clone https://github.com/CodeWithAlamin/The-Wild-Oasis-Booking.git
```
2. Install dependencies:
```bash
npm install
```
3. 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.
4. Run the development server:
```bash
npm run dev
```
5. Open [http://localhost:3000](http://localhost:3000) to see the app.

### Author

👤 Alamin

- LinkedIn - [@CodeWithAlamin](https://www.linkedin.com/in/CodeWithAlamin)
- Twitter - [@CodeWithAlamin](https://www.twitter.com/CodeWithAlamin)
- GitHub - [@CodeWithAlamin](https://github.com/CodeWithAlamin)

Feel free to contact me with any questions or feedback!

### Acknowledgments

This app was developed as part of the [Udemy course](https://www.udemy.com/course/the-ultimate-react-course) by **Jonas Schmedtmann**. His teaching style and guidance were instrumental in helping me build this project and learn Next.js at a deeper level. Huge thanks to Jonas for making the learning experience enjoyable and impactful.