@@ -177,83 +177,118 @@ JS AMAZONA
177177 2 . create SigninScreen
178178 3 . render email and password fields
179179 4 . style signin form
180- 21 . Sign-in Screen Action
180+ 21 . Sign-in Screen Backend
181+ 3 . create signin api in backend
182+ 4 . create route for /api/users/signin
183+ 5 . create check user name and password
184+ 6 . if it is not ok the return 401 error
185+ 7 . install express-async-handler
186+ 8 . wrap it in expressAsyncHandler
187+ 9 . add error middleware in server.js
188+ 10 . install Postman
189+ 11 . send post request
190+ 12 . test with invalid user password
191+ 13 . otherwise generate token
192+ 14 . install jsonwebtoken
193+ 15 . set config.JWT_SECRET to somethingsecret
194+ 16 . add generateToken to utils.js
195+ 17 . return token
196+ 18 . test with correct user and password
197+ 22 . Sign-in Screen Action
181198 1 . after_render handle form submit
182199 2 . create signin request in frontend
183- 3 . create signin api in backend
184- 22 . Create Header Component
200+ 3 . show alert if email or password is incorrect
201+ 4 . Add getUserInfo and setUserInfo to localStorage
202+ 5 . create Header component
203+ 6 . if userInfo.email exist show user name otherwise show signin
204+ 23 . Create Progress Indicator and Alert Component
205+ 1 . create overlay loading div in index.html
206+ 2 . Style overlay loading
207+ 3 . create showLoading() function
208+ 4 . set loading-overlay classList add active
209+ 5 . create hideLoading() function
210+ 6 . create overlay message div in index.html
211+ 7 . add style overlay message
212+ 8 . create showMessage(message, callback)
213+ 9 . document message-overlay set inner HTML
214+ 10 . div > div id message-overlay-content
215+ 11 . show message
216+ 12 . button id message-overlay-close-button OK
217+ 13 . add class active to it
218+ 14 . add event listener for button to call callback
219+ 24 . Create Header Component
185220 1 . update index.html
186- 1 . add header render and after render to router function
187- 1 . show header menu based on user logged in or not
188- 23 . Register Screen Action
221+ 2 . add header render and after render to router function
222+ 3 . show header menu based on user logged in or not
223+ 25 . Register Screen Action
189224 1 . after_render handle form submit
190225 2 . create register request in frontend
191226 3 . create register api in backend
192- 24 . Create Checkout Wizard Header Component
227+ 26 . Create Checkout Wizard Header Component
193228 1 . create component
194229 2 . style component
195- 25 . Shipping Screen
230+ 27 . Shipping Screen
196231 1 . create ShippingScreen.js
197232 2 . style elements
198233 3 . handle form submit
199- 26 . Payment Screen
234+ 28 . Payment Screen
200235 1 . create PaymentScreen.js
201236 2 . style elements
202237 3 . handle form submit
203- 27 . PlaceOrder Screen UI
238+ 29 . PlaceOrder Screen UI
204239 1 . create PlaceOrder.js
205240 2 . style elements
206- 28 . PlaceOrder Screen Action
241+ 30 . PlaceOrder Screen Action
207242 1 . handle form submit
208243 2 . create backend api to create order
209- 29 . Order Screen
244+ 31 . Order Screen
210245 1 . create OrderScreen.js
211246 2 . style elements
212- 30 . PayPal Payment
247+ 32 . PayPal Payment
213248 1 . add paypal checkout script
214249 2 . show paypal button
215250 3 . update order after payment
216- 31 . User Profile UI
251+ 33 . User Profile UI
217252 1 . create ProfileScreen.js
218253 2 . style elements
219- 32 . User Profile Data
254+ 34 . User Profile Data
220255 1 . Create profile info backend api
221256 2 . Create user orders api
222257 3 . Call apis in the backend
223- 33 . Update Profile
258+ 35 . Update Profile
224259 1 . handle form submit
225260 2 . send request to backend
226261 3 . create api to update profile
227- 34 . Admin Products UI
262+ 36 . Admin Products UI
228263 1 . create Admin Order menu in header
229264 2 . create ProductListScreen.js
230265 3 . show products with edit and delete button
231266 4 . show create product button
232267 5 . implement create product backend
233268 6 . redirect user to edit product screen
234- 35 . Edit Product
269+ 37 . Edit Product
235270 1 . create ProductListScreen.js
236271 2 . load product data from backend
237272 3 . handle form submit
238273 4 . save product in backend
239- 36 . Delete Product
274+ 38 . Delete Product
240275 1 . update ProductListScreen.js
241276 2 . handle delete button
242277 3 . rerender after deletion
243- 37 . Admin Orders
278+ 39 . Admin Orders
244279 1 . create Admin Order menu in header
245280 2 . create AdminOrder.js
246281 3 . load orders from backend
247282 4 . list them in the screen
248283 5 . show delete and edit button
249284 6 . redirect to order details on edit action
250- 38 . Edit Order
285+ 40 . Edit Order
251286 1 . if order is payed show deliver button for admin
252287 2 . handle click on deliver button
253288 3 . set state to delivered
254- 39 . Delete Order
289+ 41 . Delete Order
255290 1 . update OrderListScreen.js
256291 2 . handle delete button
257292 3 . rerender after deletion
258- 40 . Publish heroku
293+ 42 . Publish heroku
259294 1 . publish steps
0 commit comments