Full Stack Tutorial – Hotel Management Site w/ Next.js, React, Sanity.io, Tailwind, Stripe
Learn how to build and deploy a hotel management system with Next.js, React, Sanity.io, Tailwind CSS, and Stripe.
Features:
- Hotel Room Management CRUD with Sanity.IO
- Hotel Room Review
- Room Booking
- Checkout with Stripe
- Stripe webhook
- Light / Dark Mode with React Context
- Search (Room Type / Name)
- Authentication with Auth.JS
- Typescript
- useSwr Hook
- Deployment to Vercel
- And lots more...
💻 Code: https://github.com/laribright/hotel-management
✏️ Course created by @codewithlari
❤️ Try interactive Full Stack courses we love, right in your browser: https://scrimba.com/freeCodeCamp-Fullstack (Made possible by a grant from our friends at Scrimba)
⭐️ Contents ⭐️
0:00:07 Intro and Demo
0:09:07 New Project
0:14:42 Layout
0:35:02 Dark / White Theme
0:47:37 Authentication Page Setup
1:02:01 Sanity CMS Integration
1:13:57 Environment Variables
1:16:47 Sanity Schemas (user, account, booking, hotelRoom, verificationToken)
1:52:37 Authentication with next auth (Github, Email, Google)
2:12:02 Toast Notification
2:14:18 Fixing Api folder error
2:15:35 Authentication Continued
2:20:29 Complete Schema
2:25:22 Authentication Test
2:31:07 Configuring jwt
2:40:37 Custom classnames using tailwind directives
2:42:07 Hero Section
3:07:35 Search Feature
3:23:52 Gallery Component
3:25:47 NewsLetter Component
3:27:22 Featured Room
3:56:37 Nextjs Loading Component
3:58:33 Nextjs Error Component
4:02:27 Rooms Page
4:31:07 Room Details Page
6:03:28 Create Booking API
6:13:58 Middleware
6:16:07 Stripe Integration
6:38:45 Test Booking Payment
6:42:37 Webhooks
7:25:37 User Details Page
8:37:10 Rate Hotel Room
9:28:22 Display Hotel Room Rating
9:54:26 Git / Vercel / Deployment
🎉 Thanks to our Champion and Sponsor supporters:
👾 davthecoder
👾 jedi-or-sith
👾 南宮千影
👾 Agustín Kussrow
👾 Nattira Maneerat
👾 Heather Wcislo
👾 Serhiy Kalinets
👾 Justin Hual
👾 Otis Morgan
👾 Oscar Rahnama
--
Learn to code for free and get a developer job: https://www.freecodecamp.org
Read
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from freeCodeCamp.org · freeCodeCamp.org · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
React: Production Server Setup Part 2 - Live Coding with Jesse
freeCodeCamp.org
cookies vs localStorage vs sessionStorage - Beau teaches JavaScript
freeCodeCamp.org
Browser history tutorial - Beau teaches JavaScript
freeCodeCamp.org
Graph Data Structure Intro (inc. adjacency list, adjacency matrix, incidence matrix)
freeCodeCamp.org
React: Parameterized Routing with Next.js - Live Coding with Jesse
freeCodeCamp.org
React: Dealing with jQuery Issues - Live Coding with Jesse
freeCodeCamp.org
setInterval and setTimeout: timing events - Beau teaches JavaScript
freeCodeCamp.org
Browser and Device Testing - Live Coding with Jesse
freeCodeCamp.org
Last Minute Updates - Live Coding with Jesse
freeCodeCamp.org
Post Launch Updates - Live Coding with Jesse
freeCodeCamp.org
React: Setting Up Google Analytics - Live Coding with Jesse
freeCodeCamp.org
React: Masonry Layout - Live Coding with Jesse
freeCodeCamp.org
Load Balancing Digital Ocean Droplets - Live Coding with Jesse
freeCodeCamp.org
try, catch, finally, throw - error handling in JavaScript
freeCodeCamp.org
Load Balancing: SSL Passthrough Setup - Live Coding with Jesse
freeCodeCamp.org
Graphs: breadth-first search - Beau teaches JavaScript
freeCodeCamp.org
React: Masonry Layout Part 2 - Live Coding with Jesse
freeCodeCamp.org
React: WordPress API Live Search - Live Coding with Jesse
freeCodeCamp.org
Creating WordPress Custom Post Types - Live Coding With Jesse
freeCodeCamp.org
Dates - Beau teaches JavaScript
freeCodeCamp.org
Miscellaneous Front End Updates - Live Coding with Jesse
freeCodeCamp.org
Merging a Pull Request from GitHub - Live Coding with Jesse
freeCodeCamp.org
React + Prettier + Standard JS - Live Coding with Jesse
freeCodeCamp.org
React: Sortable Responsive Table - Live Coding with Jesse
freeCodeCamp.org
Geolocation Sorting by Distance - Live Coding with Jesse
freeCodeCamp.org
Tradeoff Matrix - Agile Software Development
freeCodeCamp.org
The Definition of Ready - Agile Software Development
freeCodeCamp.org
Getting first React job without experience - Ask Preethi
freeCodeCamp.org
React: Google Analytics Click Tracking - Live Coding with Jesse
freeCodeCamp.org
Submitting a PR to an Open Source Project - Live Coding with Jesse
freeCodeCamp.org
Should I go back to school to get CS degree? - Ask Preethi
freeCodeCamp.org
Hero Section CSS Changes - Live Coding with Jesse
freeCodeCamp.org
Working Agreement - Agile Software Development
freeCodeCamp.org
A day at Pennybox with Co-Founder Reji Eapen
freeCodeCamp.org
React: Sorting and Filtering Data - Live Coding with Jesse
freeCodeCamp.org
React: Sorting and Filtering Data Part 2 - Live Coding with Jesse
freeCodeCamp.org
React: Building a New UI - Live Coding with Jesse
freeCodeCamp.org
Definition of Done - Agile Software Development
freeCodeCamp.org
Getting started with jQuery (tutorial) - Beau teaches JavaScript
freeCodeCamp.org
Making a React Blog with WordPress Content - Live Coding with Jesse
freeCodeCamp.org
React, NextJS, CSS - Live Coding with Jesse
freeCodeCamp.org
jQuery events - Beau teaches JavaScript
freeCodeCamp.org
React/NextJS Routing and WordPress API Custom Types - Live Coding with Jesse
freeCodeCamp.org
React: Working with API Data - Live Coding with Jesse
freeCodeCamp.org
React: Refactoring Components - Live Streaming with Jesse
freeCodeCamp.org
jQuery effects - Beau teaches JavaScript
freeCodeCamp.org
More React Refactoring - Live Coding with Jesse
freeCodeCamp.org
animate in jQuery - Beau teaches JavaScript
freeCodeCamp.org
"Finishing" My React Site - Live Coding with Jesse
freeCodeCamp.org
Starting a New React Project (P2D1) - Live Coding with Jesse
freeCodeCamp.org
React Project 2 Day 2: Learning Material UI - Live Coding with Jesse
freeCodeCamp.org
The Agile Manifesto - Agile Software Development
freeCodeCamp.org
jQuery: get and set with http, text, val, and attr - Beau teaches JavaScript
freeCodeCamp.org
React Project 2 Day 3 - Live Coding with Jesse
freeCodeCamp.org
The INVEST approach to product backlog items
freeCodeCamp.org
React Project 2 Day 4 - Live Coding with Jesse
freeCodeCamp.org
Chickens and Pigs - Agile Software Development
freeCodeCamp.org
React Project 2 Day 5 - Live Coding with Jesse
freeCodeCamp.org
jQuery: add and remove DOM elements - Beau teaches JavaScript
freeCodeCamp.org
React Project 2 Day 6 - Live Coding with Jesse
freeCodeCamp.org
More on: AI Workflow Automation
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
I Tested 10 AI-Powered APIs for Developers So You Don't Have To
Dev.to · Yury
The only AI tools you actually need as a developer
Dev.to · Samaresh Das
Why Blinkit’s Home Page Looks Different in Delhi vs Bangalore — The Engineering Behind It
Medium · AI
How AI is changing creative jobs… and what marketers and designers need to do about it
Medium · AI
Chapters (34)
0:07
Intro and Demo
9:07
New Project
14:42
Layout
35:02
Dark / White Theme
47:37
Authentication Page Setup
1:02:01
Sanity CMS Integration
1:13:57
Environment Variables
1:16:47
Sanity Schemas (user, account, booking, hotelRoom, verificationToken)
1:52:37
Authentication with next auth (Github, Email, Google)
2:12:02
Toast Notification
2:14:18
Fixing Api folder error
2:15:35
Authentication Continued
2:20:29
Complete Schema
2:25:22
Authentication Test
2:31:07
Configuring jwt
2:40:37
Custom classnames using tailwind directives
2:42:07
Hero Section
3:07:35
Search Feature
3:23:52
Gallery Component
3:25:47
NewsLetter Component
3:27:22
Featured Room
3:56:37
Nextjs Loading Component
3:58:33
Nextjs Error Component
4:02:27
Rooms Page
4:31:07
Room Details Page
6:03:28
Create Booking API
6:13:58
Middleware
6:16:07
Stripe Integration
6:38:45
Test Booking Payment
6:42:37
Webhooks
7:25:37
User Details Page
8:37:10
Rate Hotel Room
9:28:22
Display Hotel Room Rating
9:54:26
Git / Vercel / Deployment
🎓
Tutor Explanation
DeepCamp AI