Building a complex website is a great way to learn how a bunch of technologies work together.

We just posted a 10-hour course on the freeCodeCamp.org YouTube channel that will teach you how to build a hotel management website using Next.js, React, Sanity.io, Tailwind CSS, and Stripe's payment API. Lari Bright developed this course.

Core Technologies Explained

Before delving into the course outline, let's unpack the core technologies you'll be working with:

  • Next.js: A React framework that enables functionality such as server-side rendering and generating static websites, making your application faster and more efficient.
  • React: A JavaScript library for building user interfaces, known for its efficiency and flexibility in creating dynamic, high-performing web applications.
  • Sanity.io: A platform for structured content that comes with an open-source editing environment that allows you to manage and deliver digital content globally.
  • Tailwind CSS: A utility-first CSS framework for rapidly building custom designs, providing low-level utility classes to build bespoke designs without leaving your HTML.
  • Stripe: An online payment processing platform that's highly flexible and integrates easily with various web applications for secure and efficient financial transactions.

Course Highlights

This comprehensive course covers every aspect of developing a functional hotel management system:

  • CRUD Operations with Sanity.IO: Manage hotel rooms effectively with full create, read, update, and delete capabilities.
  • Room Booking & Review: Implement features for booking hotel rooms and providing room reviews.
  • Payment Processing: Integrate Stripe for secure and efficient checkout experiences.
  • React Context for UI Themes: Master the use of React Context for dynamic theme switching.
  • Advanced Search and Authentication: Implement a robust search feature and secure user authentication.
  • TypeScript and useSwr Hook: Enhance your project with TypeScript for better code management and use the useSwr hook for data fetching.
  • Deployment on Vercel: Learn to deploy your application on Vercel, ensuring a smooth launch.

Detailed Course Sections

The course is divided into focused sections, each dedicated to a specific component of the project:

  • Intro and Demo
  • New Project
  • Layout
  • Dark / White Theme
  • Authentication Page Setup
  • Sanity CMS Integration
  • Environment Variables
  • Sanity Schemas (user, account, booking, hotelRoom, verificationToken)
  • Authentication with next auth (Github, Email, Google)
  • Toast Notification
  • Fixing Api folder error
  • Authentication Continued
  • Complete Schema
  • Authentication Test
  • Configuring jwt
  • Custom classnames using tailwind directives
  • Hero Section
  • Search Feature
  • Gallery Component
  • NewsLetter Component
  • Featured Room
  • Nextjs Loading Component
  • Nextjs Error Component
  • Rooms Page
  • Room Details Page
  • Create Booking API
  • Middleware
  • Stripe Integration
  • Test Booking Payment
  • Webhooks
  • User Details Page
  • Rate Hotel Room
  • Display Hotel Room Rating
  • Git / Vercel / Deployment

This course is an excellent resource for developers looking to solidify their full-stack development skills, especially in building complex, real-world applications.

Watch the full course below or on the freeCodeCamp.org YouTube channel (10-hour watch).