Create A Booking App From Scratch | React, Next.js, Appwrite, Tailwind

Traversy Media · Intermediate ·🔧 Backend Engineering ·1y ago

Key Takeaways

Create a booking app from scratch using React, Next.js, Appwrite, and Tailwind CSS, covering project setup, database integration, authentication, and deployment to Vercel.

Original Description

In this 4-hour project-based course, we will build a booking app for meeting/conference rooms. We will be using React/Next along wth Appwrite, which is an open-source, all-in-one platform with databases, authentication, storage and more. Visit Appwrite and claim $50 in free Appwrite Cloud Pro credits: https://apwr.dev/traversymedia50 Final Code & Theme Files: https://github.com/bradtraversy/bookit-app Check Out My Courses: https://traversymedia.com Timestamps: 0:00 - Intro 1:30 - Project Demo 5:00 - Create Next App 6:40 - Prep & Clean Up 10:18 - Header Component 18:32 - Footer Component 19:53 - Homepage Rooms (JSON data) 22:32 - RoomCard Component 27:48 - Heading Component 28:49 - Room Details Page 38:20 - Apppwrite Project Setup 40:26 - Rooms Database, Collections & Attributes 44:10 - Add User & Room Data 47:03 - Permissions & API Key 48:15 - Environment Variables 51:16 - Create Appwrite Clients 57:52 - Get All Rooms 1:04:44 - Get Single Room 1:06:53 - Login & Register Pages/Forms 1:11:39 - Middleware in Next.js 1:15:21 - Protecting Routes 1:18:07 - Login & Create Session 1:26:00 - React Toastify Setup 1:34:36 - Logout & Destroy Session 1:43:18 - checkAuth Action 1:47:05 - Show/Hide Nav Links 1:51:00 - Global Auth Context 1:59:20 - Auth Wrapper 2:05:40 - Finish Route Protection 2:07:15 - Create User 2:16:50 - Add Room 2:32:04 - Storage Buckets & Image Upload 2:44:51 - Single Room Page Image 2:46:06 - My Rooms Page 2:59:04 - Delete Room 3:03:58 - DeleteRoomButton Component 3:08:38 - Bookings Collection Setup 3:11:32 - Book Room Action 3:21:32 - Booking Form 3:25:40 - Show Bookings 3:31:50 - BookedRoomCard Component 3:39:58 - Cancel Booking 3:51:07 - Check Room Availability 4:07:18 - Deploy To Vercel
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Traversy Media · Traversy Media · 0 of 60

← Previous Next →
1 Changing Your DNS/Nameservers
Changing Your DNS/Nameservers
Traversy Media
2 Create a MySQL database in cPanel
Create a MySQL database in cPanel
Traversy Media
3 Install & Uninstall Joomla Extensions
Install & Uninstall Joomla Extensions
Traversy Media
4 Adding and linking an article in Joomla
Adding and linking an article in Joomla
Traversy Media
5 Create a Joomla Blog
Create a Joomla Blog
Traversy Media
6 Import & Export A MySQL Database
Import & Export A MySQL Database
Traversy Media
7 Use A Custom Font On Your Website Using CSS
Use A Custom Font On Your Website Using CSS
Traversy Media
8 Connect Joomla Site With Dreamweaver
Connect Joomla Site With Dreamweaver
Traversy Media
9 Remove Phoca Gallery 3.2.3 Footer Text
Remove Phoca Gallery 3.2.3 Footer Text
Traversy Media
10 Drupal 7 Security Update 7.19 to 7.20
Drupal 7 Security Update 7.19 to 7.20
Traversy Media
11 Add An Addon Domain In Cpanel
Add An Addon Domain In Cpanel
Traversy Media
12 Pull A Heroku Rails App and Database
Pull A Heroku Rails App and Database
Traversy Media
13 Create a Custom Joomla 2.5 Module - Part 1
Create a Custom Joomla 2.5 Module - Part 1
Traversy Media
14 Create a Custom Joomla 2.5 Module - Part 2
Create a Custom Joomla 2.5 Module - Part 2
Traversy Media
15 Create a Custom Joomla 2.5 Module - Part 3
Create a Custom Joomla 2.5 Module - Part 3
Traversy Media
16 Joomla SEO Tutorial - sh404sef Configuration
Joomla SEO Tutorial - sh404sef Configuration
Traversy Media
17 Font Dragr
Font Dragr
Traversy Media
18 Convert an HTML Template to Joomla 2.5/3.0 - Part One
Convert an HTML Template to Joomla 2.5/3.0 - Part One
Traversy Media
19 Convert an HTML Template to Joomla 2.5/3.0 - Part Two
Convert an HTML Template to Joomla 2.5/3.0 - Part Two
Traversy Media
20 Rockettheme Rocketlauncher   Joomla Site in Under 10 Minutes
Rockettheme Rocketlauncher Joomla Site in Under 10 Minutes
Traversy Media
21 JQuery FAQ Slider Tutorial
JQuery FAQ Slider Tutorial
Traversy Media
22 301 Redirect With htaccess File
301 Redirect With htaccess File
Traversy Media
23 Convert HTML to Wordpress Theme - Part 1
Convert HTML to Wordpress Theme - Part 1
Traversy Media
24 Convert HTML to Wordpress Theme - Part 2
Convert HTML to Wordpress Theme - Part 2
Traversy Media
25 Easy JQuery Widgets
Easy JQuery Widgets
Traversy Media
26 Codeigniter App Part 1 - Creating the Database
Codeigniter App Part 1 - Creating the Database
Traversy Media
27 Codeigniter App Part 2 - Installation and Configuration
Codeigniter App Part 2 - Installation and Configuration
Traversy Media
28 Codeigniter App Part 6 - Login/Register System
Codeigniter App Part 6 - Login/Register System
Traversy Media
29 Codeigniter App Part 7 - Models List CRUD
Codeigniter App Part 7 - Models List CRUD
Traversy Media
30 Codeigniter App Part 8 - Models Task CRUD
Codeigniter App Part 8 - Models Task CRUD
Traversy Media
31 Node.js Part 1 - Install NodeJS on Windows
Node.js Part 1 - Install NodeJS on Windows
Traversy Media
32 Node.js Part 3 - Building a Static Page Server
Node.js Part 3 - Building a Static Page Server
Traversy Media
33 Node.js Part 4 - NPM
Node.js Part 4 - NPM
Traversy Media
34 Node.js Part 2 - Install MongoDB in Windows
Node.js Part 2 - Install MongoDB in Windows
Traversy Media
35 Create a Joomla Quickstart with Custom Sample Data
Create a Joomla Quickstart with Custom Sample Data
Traversy Media
36 Install MongoDB in Ubuntu
Install MongoDB in Ubuntu
Traversy Media
37 HTML5 Web Storage
HTML5 Web Storage
Traversy Media
38 Create a Joomla Bootstrap Template From Scratch
Create a Joomla Bootstrap Template From Scratch
Traversy Media
39 Ubuntu Server 14.04 Setup Part 1 - Installation
Ubuntu Server 14.04 Setup Part 1 - Installation
Traversy Media
40 Ubuntu Server 14.04 Setup Part 3 - Set Static IP
Ubuntu Server 14.04 Setup Part 3 - Set Static IP
Traversy Media
41 Create A Wordpress Widget - Part 1
Create A Wordpress Widget - Part 1
Traversy Media
42 Create A Wordpress Widget - Part 2
Create A Wordpress Widget - Part 2
Traversy Media
43 Create A Wordpress Widget - Part 3
Create A Wordpress Widget - Part 3
Traversy Media
44 Create A Wordpress Widget - Part 4
Create A Wordpress Widget - Part 4
Traversy Media
45 Get Started With Sass on Windows
Get Started With Sass on Windows
Traversy Media
46 Build An HTML5 Template With Bootstrap and SASS - Part 1
Build An HTML5 Template With Bootstrap and SASS - Part 1
Traversy Media
47 Build An HTML5 Template With Bootstrap and SASS - Part 6
Build An HTML5 Template With Bootstrap and SASS - Part 6
Traversy Media
48 Build An HTML5 Template With Bootstrap and SASS - Part 4
Build An HTML5 Template With Bootstrap and SASS - Part 4
Traversy Media
49 Build An HTML5 Template With Bootstrap and SASS - Part 5
Build An HTML5 Template With Bootstrap and SASS - Part 5
Traversy Media
50 Build An HTML5 Template With Bootstrap and SASS - Part 3
Build An HTML5 Template With Bootstrap and SASS - Part 3
Traversy Media
51 Build An HTML5 Template With Bootstrap and SASS - Part 2
Build An HTML5 Template With Bootstrap and SASS - Part 2
Traversy Media
52 Build An HTML5 Template With Bootstrap and SASS - Part 7
Build An HTML5 Template With Bootstrap and SASS - Part 7
Traversy Media
53 Build An HTML5 Template With Bootstrap and SASS - Part 10
Build An HTML5 Template With Bootstrap and SASS - Part 10
Traversy Media
54 Build An HTML5 Template With Bootstrap and SASS - Part 8
Build An HTML5 Template With Bootstrap and SASS - Part 8
Traversy Media
55 Build An HTML5 Template With Bootstrap and SASS - Part 11
Build An HTML5 Template With Bootstrap and SASS - Part 11
Traversy Media
56 Build An HTML5 Template With Bootstrap and SASS - Part 9
Build An HTML5 Template With Bootstrap and SASS - Part 9
Traversy Media
57 Build An Audio Player Using HTML5 & jQuery - Part 1
Build An Audio Player Using HTML5 & jQuery - Part 1
Traversy Media
58 Build An Audio Player Using HTML5 & jQuery - Part 2
Build An Audio Player Using HTML5 & jQuery - Part 2
Traversy Media
59 Youtube Data API v3 & jQuery To List Channel Videos
Youtube Data API v3 & jQuery To List Channel Videos
Traversy Media
60 Using Bootstrap With Ruby on Rails
Using Bootstrap With Ruby on Rails
Traversy Media

Create a booking app from scratch using React, Next.js, Appwrite, and Tailwind CSS, covering project setup, database integration, authentication, and deployment to Vercel. This project-based course is designed for intermediate learners who want to build a real-world application.

Key Takeaways
  1. Create a new Next.js project
  2. Set up Appwrite project and database
  3. Create rooms and users data
  4. Implement authentication and authorization
  5. Build room details page and booking form
  6. Deploy the app to Vercel
💡 Using Appwrite as a backend platform simplifies the development process by providing a scalable and secure database, authentication, and storage solutions.

Related Reads

📰
10 Most Common Mistakes Java Developers Make in Interviews
Learn the common mistakes Java developers make in interviews and how to avoid them to improve your chances of success
Medium · Programming
📰
# C++ Error Messages Translated — 10 Common Compilation & Link Errors Explained
Learn to decipher 10 common C++ error messages for compilation and linking, improving debugging efficiency
Dev.to · Yilong Wu
📰
# Picking What to Read Next: The Trade-offs of Ranked-Choice Voting in a Django App
Learn how to implement ranked-choice voting in a Django app, weighing the trade-offs and complexities involved
Medium · Python
📰
The Ultimate Rust ORM Comparison 2026: Diesel vs SQLx vs SeaORM vs Rusqlite — Pick Your Powerhouse!
Compare top Rust ORMs Diesel, SQLx, SeaORM, and Rusqlite to choose the best fit for your project
Medium · Programming

Chapters (44)

Intro
1:30 Project Demo
5:00 Create Next App
6:40 Prep & Clean Up
10:18 Header Component
18:32 Footer Component
19:53 Homepage Rooms (JSON data)
22:32 RoomCard Component
27:48 Heading Component
28:49 Room Details Page
38:20 Apppwrite Project Setup
40:26 Rooms Database, Collections & Attributes
44:10 Add User & Room Data
47:03 Permissions & API Key
48:15 Environment Variables
51:16 Create Appwrite Clients
57:52 Get All Rooms
1:04:44 Get Single Room
1:06:53 Login & Register Pages/Forms
1:11:39 Middleware in Next.js
1:15:21 Protecting Routes
1:18:07 Login & Create Session
1:26:00 React Toastify Setup
1:34:36 Logout & Destroy Session
1:43:18 checkAuth Action
1:47:05 Show/Hide Nav Links
1:51:00 Global Auth Context
1:59:20 Auth Wrapper
2:05:40 Finish Route Protection
2:07:15 Create User
2:16:50 Add Room
2:32:04 Storage Buckets & Image Upload
2:44:51 Single Room Page Image
2:46:06 My Rooms Page
2:59:04 Delete Room
3:03:58 DeleteRoomButton Component
3:08:38 Bookings Collection Setup
3:11:32 Book Room Action
3:21:32 Booking Form
3:25:40 Show Bookings
3:31:50 BookedRoomCard Component
3:39:58 Cancel Booking
3:51:07 Check Room Availability
4:07:18 Deploy To Vercel
Up next
Beginners Guide to GPT4 API & ChatGPT 3.5 Turbo API Tutorial
Adrian Twarog
Watch →