Uber Eats Clone
Best Way to Learn to Code. We believe that the best way to become a developer is by doing clone coding. It is very easy to get bored and unmotivated in the beginning if all you learn is theory. When we do clone coding we skip the theory and jump right into making useful and beautiful things. Is easy to forget theory, it's impossible to forget practice. After you take this course you will have a working application that YOU made..
More
What will you make
3 Dashboards + Payment Module
You will build 3 Dashboards - Restaurant, Delivery and User. User's order will be delivered to restaurants and delivery in real time and users will be able to see the progress in real time as well with google map. Also, there will be a payment module built for restaurants' advertisement.
What will you learn
Users
User AuthenticationEmail VerificationPhoto UploadUser / Delivery Man / Restaurant Owner Profile
Restaurants
- Restaurant CRUD
- Dish CRUD
- Realtime Order Notifications
- Sales Dashboard (Data Visualization)
- Premium Feature (Online Payments)
Nest Concepts
- Modules
- Guards
- Middlewares
- Decorators
Features
- Online Payments
- Google Maps
- Unit Testing
- End to End Testing
- Data Visualization
- Tailwind CSS
- JWT Authentication
Watch Online Uber Eats Clone
# | Title | Duration |
---|---|---|
1 | Welcome | 01:09 |
2 | Requirements | 02:03 |
3 | How to Get Help | 03:23 |
4 | Backend Setup | 04:01 |
5 | This Course Structure | 02:11 |
6 | Apollo Server Setup | 03:03 |
7 | Our First Resolver | 09:57 |
8 | ObjectType | 05:46 |
9 | Arguments | 03:57 |
10 | InputTypes and ArgumentTypes | 08:55 |
11 | Validating ArgsTypes | 04:29 |
12 | TypeORM and PostgreSQL | 05:12 |
13 | MacOS Setup | 04:59 |
14 | Windows Setup | 04:56 |
15 | TypeORM Setup | 06:58 |
16 | Introducing ConfigService | 06:14 |
17 | Configuring ConfigService | 06:13 |
18 | Validating ConfigService | 05:45 |
19 | Our First Entity | 07:45 |
20 | Data Mapper vs Active Record | 07:05 |
21 | Injecting The Repository | 07:45 |
22 | Recap | 04:16 |
23 | Create Restaurant | 09:00 |
24 | Mapped Types | 12:24 |
25 | Optional Types and Columns | 08:43 |
26 | Update Restaurant part One | 08:06 |
27 | Update Restaurant part Two | 07:57 |
28 | User Module Introduction | 02:07 |
29 | User Model | 07:08 |
30 | User Resolver and Service | 05:21 |
31 | Create Account Mutation part One | 06:32 |
32 | Create Account Mutation part Two | 08:08 |
33 | Create Account Mutation part Three | 07:01 |
34 | An Alternative Error | 05:06 |
35 | Hashing Passwords | 09:03 |
36 | Log In part One | 07:40 |
37 | Log In part Two | 10:21 |
38 | Introduction to Authentication | 02:01 |
39 | Generating JWT | 08:19 |
40 | JWT and Modules | 06:06 |
41 | JWT Module part One | 06:11 |
42 | JWT Module part Two | 08:24 |
43 | JWT Module part Three | 05:44 |
44 | Middlewares in NestJS | 11:19 |
45 | JWT Middleware | 12:35 |
46 | GraphQL Context | 05:44 |
47 | AuthGuard | 08:23 |
48 | AuthUser Decorator | 05:31 |
49 | Recap | 07:36 |
50 | userProfile Mutation | 09:57 |
51 | updateProfile part One | 09:38 |
52 | updateProfile part Two | 06:34 |
53 | updateProfile part Three | 05:50 |
54 | Recap | 04:51 |
55 | Verification Entity | 06:55 |
56 | Creating Verifications | 08:04 |
57 | Verifying User part One | 11:41 |
58 | Verifying User part Two | 11:57 |
59 | Cleaning the Code | 05:14 |
60 | Mailgun Setup | 07:13 |
61 | Mail Module Setup | 08:35 |
62 | Mailgun API | 13:26 |
63 | Beautiful Emails | 08:00 |
64 | Refactor | 12:36 |
65 | Setting Up Tests | 08:27 |
66 | Mocking | 10:14 |
67 | Mocking part Two | 09:10 |
68 | Writing Our First Test | 07:29 |
69 | Recap | 03:53 |
70 | createAccount Test part One | 10:18 |
71 | createAccount Test part Two | 11:58 |
72 | login Test part One | 07:48 |
73 | login Test part Two | 13:03 |
74 | findById Test | 05:32 |
75 | editProfile Test part One | 10:53 |
76 | editProfile Test part Two | 06:33 |
77 | verifyEmail Test | 10:12 |
78 | Conclusions | 03:47 |
79 | JWT Service Test Setup | 05:21 |
80 | JWT Sign Test | 09:19 |
81 | JWT Verify Test | 09:29 |
82 | sendVerificationEmail Test | 08:27 |
83 | sendEmail Test | 14:47 |
84 | Setup part One | 11:56 |
85 | Setup part Two | 03:58 |
86 | Testing createAccount part One | 08:39 |
87 | Testing createAccount part Two | 05:09 |
88 | Testing login | 08:44 |
89 | Testing userProfile | 11:18 |
90 | Testing me | 07:50 |
91 | Testing editProfile | 10:28 |
92 | Testing verifyEmail | 07:37 |
93 | Conclusions | 03:38 |
94 | Restaurant Models | 11:01 |
95 | Relationships and InputTypes | 08:20 |
96 | createRestaurant part One | 07:37 |
97 | createRestaurant part Two | 14:13 |
98 | Roles part One | 10:20 |
99 | Roles part Two | 13:19 |
100 | Roles Recap | 12:01 |
101 | Edit Restaurant part One | 09:09 |
102 | Edit Restaurant part Two | 12:44 |
103 | Restaurant part Three | 11:00 |
104 | Edit Restaurant Testing | 05:56 |
105 | Delete Restaurant | 07:11 |
106 | Categories part One | 10:42 |
107 | Categories part Two | 05:02 |
108 | Category | 08:22 |
109 | Pagination | 10:02 |
110 | Restaurants | 08:51 |
111 | Restaurant and Search | 12:09 |
112 | Search part Two | 08:16 |
113 | Dish Entity | 09:00 |
114 | Create Dish part One | 14:21 |
115 | Create Dish part Two | 11:21 |
116 | Edit and Delete Dish | 14:15 |
117 | Order Entity | 14:59 |
118 | Create Order part One | 08:29 |
119 | Order Items | 09:34 |
120 | Create Order part Two | 07:22 |
121 | Create Order part Three | 16:40 |
122 | Create Order part Four | 09:28 |
123 | Create Order part Five | 13:46 |
124 | Create Order part Six | 12:11 |
125 | getOrders part One | 17:32 |
126 | getOrders and getOrder | 14:01 |
127 | Edit Order | 13:35 |
128 | Subscriptions part One | 11:50 |
129 | Subscriptions part Two | 09:04 |
130 | Subscription Authentication part One | 13:28 |
131 | Subscription Authentication part Two | 07:01 |
132 | PUB_SUB | 08:46 |
133 | Subscription Filter | 09:41 |
134 | Subscription Resolve | 11:45 |
135 | pendingOrders Subscription part One | 09:34 |
136 | pendingOrders Subscription part Two | 07:49 |
137 | cookedOrders | 07:42 |
138 | orderUpdates part One | 11:39 |
139 | orderUpdates | 11:26 |
140 | takeOrder | 12:41 |
141 | Payment Introduction | 07:58 |
142 | Payment Module | 07:06 |
143 | createPayment part One | 07:21 |
144 | createPayment part Two | 08:04 |
145 | getPayments Resolver | 07:42 |
146 | Task Scheduling is Awesome | 15:37 |
147 | Promoting Restaurants | 10:09 |
148 | Promoting Restaurants part Two | 05:38 |
149 | Backend Conclusions | 03:27 |
150 | #14.0 Create React App | 04:27 |
151 | #14.1 TailwindCSS part One | 07:30 |
152 | #14.2 TailwindCSS part Two | 14:29 |
153 | #14.3 Apollo Setup | 07:06 |
154 | #14.4 React Router Dom | 04:54 |
155 | #15.0 Local Only Fields | 13:20 |
156 | #15.1 React Hook Form | 14:40 |
157 | #15.2 React Hook Form part Two | 03:45 |
158 | #15.3 Router and @types | 08:39 |
159 | #15.4 Form Design | 15:44 |
160 | #15.5 Form Login | 12:55 |
161 | #15.6 Login Mutation part One | 10:10 |
162 | #15.7 Apollo Codegen | 14:04 |
163 | #15.8 Login Mutation | 11:01 |
164 | #15.9 Login Mutation part Two | 06:57 |
165 | #15.10 UI Clonning | 16:29 |
166 | #15.11 UI Clonning part Two | 14:27 |
167 | #15.12 Create Account Mutation | 11:21 |
168 | #15.13 Create Account Mutation part Two | 07:45 |
169 | #15.14 Saving the Token | 10:28 |
170 | #15.15 Using the Token | 14:23 |
171 | #15.16 Routers and 404s | 13:55 |
172 | #15.17 Header part One | 09:56 |
173 | #15.18 Header part One | 14:34 |
174 | #16.0 Verifying Email part One | 13:19 |
175 | #16.1 Verifying Email part Two | 10:40 |
176 | #16.2 Edit Profile part One | 10:52 |
177 | #16.3 Edit Profile part Two | 12:47 |
178 | #16.4 writeFragment vs Refetch | 14:41 |
179 | #17.0 Restaurants Query | 09:21 |
180 | #17.1 Categories Style | 12:09 |
181 | #17.2 Restaurants List | 11:13 |
182 | #17.3 Restaurants Pagination | 15:09 |
183 | #17.4 Search part One | 12:59 |
184 | #17.5 Search part Two | 16:20 |
185 | #17.6 Category | 13:17 |
186 | #17.7 Code Challenge | 03:49 |
187 | #17.8 Restaurant part One | 10:03 |
188 | #17.9 Restaurant part Two | 07:04 |
189 | #18.0 Tests Setup | 08:01 |
190 | #18.1 App Tests | 13:05 |
191 | #18.2 Button Tests | 12:29 |
192 | #18.3 FormError and Restaurant Tests | 08:11 |
193 | #18.4 Testing Header and 404 | 14:45 |
194 | #18.5 Login Tests part One | 17:04 |
195 | #18.6 Login Tests part Two | 15:21 |
196 | #18.7 Login Tests part Three | 12:29 |
197 | #18.8 CreateAccount Tests part One | 09:11 |
198 | #18.9 CreateAccount Tests part Two | 14:54 |
199 | #18.10 CreateAccount Tests part Three | 09:10 |
200 | #18.11 Conclusions | 02:37 |
201 | #19.0 Installing Cypress | 10:14 |
202 | #19.1 Our First Cypress Test | 11:48 |
203 | #19.2 Login E2E | 09:15 |
204 | #19.3 Create Account E2E part One | 12:07 |
205 | #19.4 Create Account E2E part Two | 09:35 |
206 | #19.5 Custom Commands | 11:56 |
207 | #19.6 EditProfile E2E part One | 08:31 |
208 | #19.7 EditProfile E2E part Two | 09:04 |
209 | #20.0 Order Dashboard Routes | 11:18 |
210 | #20.1 Create Restaurant part One | 14:59 |
211 | #20.2 File Upload part One | 04:57 |
212 | #20.3 File Upload part Two | 12:55 |
213 | #20.4 Create Restaurant part Two | 11:48 |
214 | #20.5 Cache Optimization part One | 15:08 |
215 | #20.6 Cache Optimization part Two | 11:46 |
216 | #20.7 Restaurant Dashboard part One | 09:29 |
217 | #20.8 Create Dish part One | 09:56 |
218 | #20.9 Create Dish part Two | 12:31 |
219 | #20.10 DishOptions part One | 13:35 |
220 | #20.11 DishOptions part Two | 14:05 |
221 | #20.12 Dish Component | 08:21 |
222 | #20.13 Victory Charts part One | 10:39 |
223 | #20.14 Victory Charts part Two | 08:20 |
224 | #20.15 Victory Charts part Three | 16:05 |
225 | #20.16 Conclusions | 00:47 |
226 | #21.0 Introduction | 02:08 |
227 | #21.1 Paddle Product Test | 14:01 |
228 | #21.2 Paddle Integration part One | 06:27 |
229 | #21.3 Paddle Integration part Two | 05:51 |
230 | #22.0 Extending the Dish Component | 12:13 |
231 | #22.1 Making Order part One | 12:28 |
232 | #22.2 Making Order part Two | 10:54 |
233 | #22.3 Making Order part Three | 12:42 |
234 | #22.4 Making Order part Four | 10:46 |
235 | #22.5 Making Order part Five | 13:17 |
236 | #22.6 Making Order part Six | 14:51 |
237 | #23.0 Order Component | 08:59 |
238 | #23.1 Subscription Setup | 13:42 |
239 | #23.2 subscribeToMore | 11:44 |
240 | #23.3 Restaurant Orders | 13:12 |
241 | #23.4 Edit Order | 08:38 |
242 | #23.5 Driver Dashboard part One | 08:25 |
243 | #23.6 Driver Dashboard part Two | 13:06 |
244 | #23.7 Driver Dashboard part Three | 07:28 |
245 | #23.8 Address Geocoding | 11:07 |
246 | #23.9 Painting Directions | 11:31 |
247 | #23.10 Coocked Order Subscription | 11:26 |
248 | #23.11 Final Test! | 10:58 |
249 | #23.12 Conclusions | 04:58 |
250 | #24.0 Heroku Setup | 13:52 |
251 | #24.1 Heroku Databases | 13:24 |
252 | #24.2 Heroku Conclusion | 11:29 |
253 | #24.3 Netlify | 12:51 |
254 | #24.4 Done! | 03:51 |