Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай The Next.js 13 Bootcamp - The Complete Developer Guide, а также все другие курсы, прямо сейчас!
Премиум
  1. Урок 1. 00:06:30
    Course Outline
  2. Урок 2. 00:03:20
    Course Setup
  3. Урок 3. 00:07:10
    Create a Next App
  4. Урок 4. 00:02:05
    Exploring the Files and Folders
  5. Урок 5. 00:08:42
    Adding Tailwind CSS
  6. Урок 6. 00:01:51
    Your Two Options
  7. Урок 7. 00:04:24
    Defining the Pages We Want
  8. Урок 8. 00:07:13
    Understanding File Based Routing
  9. Урок 9. 00:05:02
    Creating Those Pages
  10. Урок 10. 00:03:33
    Challenge Solution
  11. Урок 11. 00:02:50
    The Two Ways of Navigating Between Routes
  12. Урок 12. 00:06:34
    The Link Component
  13. Урок 13. 00:05:29
    Programmatic Navigation With the useRouter Hook
  14. Урок 14. 00:07:13
    Cleaning Our Code With Components
  15. Урок 15. 00:14:03
    Refactoring Our Pages
  16. Урок 16. 00:05:02
    Some More Refactoring
  17. Урок 17. 00:10:57
    Server vs Client Components
  18. Урок 18. 00:06:14
    Exploring Which Components Should Be Client and Which Should Be Server
  19. Урок 19. 00:03:39
    Our Code is Not Very DRY
  20. Урок 20. 00:06:05
    Placing Universally Used Components in the Root Layout
  21. Урок 21. 00:05:07
    Nested Components
  22. Урок 22. 00:07:06
    Updating the Head Meta for Each Page
  23. Урок 23. 00:08:32
    A Little SQL Lesson
  24. Урок 24. 00:06:00
    Connecting to a Postgres Database
  25. Урок 25. 00:17:09
    Defining Our SQL Schema
  26. Урок 26. 00:01:52
    Seeding Our Database
  27. Урок 27. 00:02:52
    How We Fetch Data in Server Components
  28. Урок 28. 00:04:24
    Fetching Data in a Server Component
  29. Урок 29. 00:07:26
    A Little TypeScript Lesson
  30. Урок 30. 00:07:09
    Rendering the Fetched Data
  31. Урок 31. 00:02:05
    A Common Error You Might Encounter
  32. Урок 32. 00:09:33
    Fetching a Restaurant By Slug
  33. Урок 33. 00:10:35
    Populating the Data in the Restaurant Page
  34. Урок 34. 00:07:55
    Fetching the Restaurant's Menu
  35. Урок 35. 00:02:22
    Challenge 1 - Add Query Params
  36. Урок 36. 00:01:45
    Solution for Challenge 1
  37. Урок 37. 00:01:54
    Challenge 2 - Fetch Restaurants By Location
  38. Урок 38. 00:09:52
    Solution for Challenge 2
  39. Урок 39. 00:01:00
    Challenge 3 - Populating Data
  40. Урок 40. 00:05:25
    Solution for Challenge 3
  41. Урок 41. 00:00:32
    Challenge 4 - Fetching Data for Side NavBar
  42. Урок 42. 00:04:34
    Solution for Challenge 4
  43. Урок 43. 00:01:37
    Challenge 5 - Adding Query Params
  44. Урок 44. 00:12:21
    Solution for Challenge 5
  45. Урок 45. 00:00:35
    Challenge 6 - Filtering By Query Params
  46. Урок 46. 00:08:11
    Solution for Challenge 6
  47. Урок 47. 00:02:31
    Challenge 7 - Defining the User and Review Model
  48. Урок 48. 00:04:30
    Solution for Challenge 7
  49. Урок 49. 00:04:12
    Challenge 8 - Fetching Reviews Data
  50. Урок 50. 00:17:25
    Solution for Challenge 8
  51. Урок 51. 00:10:47
    Adding a Stars Component
  52. Урок 52. 00:04:06
    More Star Components Stuff...
  53. Урок 53. 00:02:14
    Introduction to Loading State
  54. Урок 54. 00:05:47
    Adding a Loading State
  55. Урок 55. 00:03:05
    Overriding the Default Loading State
  56. Урок 56. 00:08:35
    Handling Error States
  57. Урок 57. 00:02:52
    Handling Not Found States
  58. Урок 58. 00:02:16
    What is Authentication
  59. Урок 59. 00:11:39
    Adding Material UI
  60. Урок 60. 00:13:38
    Adding the Modal Content
  61. Урок 61. 00:10:07
    Completing the Modal Functionality
  62. Урок 62. 00:04:53
    Steps to Implement Authentication
  63. Урок 63. 00:06:08
    Creating an Endpoint
  64. Урок 64. 00:11:41
    Validating the User's Input
  65. Урок 65. 00:03:52
    Validating That the User's Doesn't Already Have an Account
  66. Урок 66. 00:10:07
    Exploring Password Storage Solutions
  67. Урок 67. 00:02:02
    Hashing Our Password
  68. Урок 68. 00:01:33
    Creating a User
  69. Урок 69. 00:09:08
    Creating and Sending a JSON Web Token
  70. Урок 70. 00:12:15
    Implementing the Sign in Endpoint
  71. Урок 71. 00:16:07
    Identifying Users With Json Web Token
  72. Урок 72. 00:13:01
    Adding Middleware
  73. Урок 73. 00:05:38
    Adding Client Side Validation
  74. Урок 74. 00:08:32
    Creating a Custom useAuth Hook
  75. Урок 75. 00:04:24
    Discussing the Authentication State
  76. Урок 76. 00:15:55
    Creating a AuthContext Component
  77. Урок 77. 00:08:08
    Handling the Loading State
  78. Урок 78. 00:02:08
    Handling the Error State
  79. Урок 79. 00:10:14
    Saving the JWT to Our Browser's Cookie
  80. Урок 80. 00:07:28
    Doing the Same Thing For the Signup Function
  81. Урок 81. 00:13:31
    Persisting an Auth State
  82. Урок 82. 00:02:44
    Fixing the Issue... Sorry
  83. Урок 83. 00:05:11
    Conditionally Rendering UI Based on the Auth State
  84. Урок 84. 00:03:54
    Implementing the Logout Functionaility
  85. Урок 85. 00:01:24
    Intro to Scheduling and Availability
  86. Урок 86. 00:04:12
    The Rules We Will Follow
  87. Урок 87. 00:04:53
    Rendering the Party Size Options
  88. Урок 88. 00:05:50
    Rendering a DatePicker Component
  89. Урок 89. 00:12:40
    Dynamically Rendering the Time Options
  90. Урок 90. 00:09:19
    Understanding Many to Many Relationships
  91. Урок 91. 00:08:30
    Defining Our New Models
  92. Урок 92. 00:03:55
    The Availability Endpoint Overview
  93. Урок 93. 00:06:40
    Building the Availability Endpoint
  94. Урок 94. 00:04:25
    Step 1: Determining the Search Times
  95. Урок 95. 00:14:37
    Step 2: Fetching the Bookings
  96. Урок 96. 00:04:58
    Step 3: Compressing the Booking
  97. Урок 97. 00:01:37
    Step 4: Fetching the Restaurant Tables
  98. Урок 98. 00:02:16
    Step 5: Reformatting the Search Times
  99. Урок 99. 00:02:56
    Step 6: Filtering Out the Booked Tables
  100. Урок 100. 00:04:46
    Step 7: Determining the Availability
  101. Урок 101. 00:05:01
    Step 8: Filtering by Restaurant Time Window
  102. Урок 102. 00:08:05
    Building a useAvailabilities Hook
  103. Урок 103. 00:12:56
    Storing the Reservation Criteria in State
  104. Урок 104. 00:09:54
    Rendering the Available Time Options
  105. Урок 105. 00:03:09
    Converting the Time to a Displayable Time
  106. Урок 106. 00:04:19
    The Reservation Endpoint
  107. Урок 107. 00:04:33
    Step 1: Validation
  108. Урок 108. 00:07:43
    Step 2.0: Extracting the Table Availability Logic Into it's Own Function
  109. Урок 109. 00:07:44
    Step 2.5: Determining the Available Tables
  110. Урок 110. 00:02:43
    Step 3: Count the Tables Based on Seats
  111. Урок 111. 00:04:33
    Step 4: Determine the Tables to Book
  112. Урок 112. 00:14:58
    Step 5: Creating the Booking and Linking it to the Tables
  113. Урок 113. 00:05:47
    Dynamically Rendering Data for the Reserve Header
  114. Урок 114. 00:06:15
    Extracting the Query Params
  115. Урок 115. 00:08:51
    Storing Our Inputs in State
  116. Урок 116. 00:04:01
    Creating a useReservation Hook
  117. Урок 117. 00:09:08
    Making a Reservation From the Client
  118. Урок 118. 00:06:06
    Showing a Success State
  119. Урок 119. 00:10:05
    The Nav and Header
  120. Урок 120. 00:13:35
    The Search Bar and Restaurant Card
  121. Урок 121. 00:03:39
    The Restaurant Page
  122. Урок 122. 00:07:56
    The Title and Description
  123. Урок 123. 00:08:56
    The Image Gallery
  124. Урок 124. 00:08:54
    The Reservation Card
  125. Урок 125. 00:07:43
    The Menu Page
  126. Урок 126. 00:15:32
    The Search Page
  127. Урок 127. 00:08:59
    The Reserve Page