- save Cart Items
- install js-cookie
- save and retrieve Cart Items in cookie
- Create Login Form
- install react-hook-form
- create input box
- add login button
- Contect To MongoDB
- install mongoose
- install mongodb or use mongodb atlas
- create connection url in .env file
- create db utilis file
- create sample users
- Create Login API
- install next-auth
- create nextauth.js
- implement signin
- use signin in login form
- Add User Menu
- check user authentication
- install @headlessui/react
- show user menu
- Create SHipping Screen
- display address filds
- save address in context
- Create Payment Methods Screen
- display payment methods
- save payment methods in context
- Seed sample products
- create product model in mongoose
- insert sample products to mongodb
- Load Products MongoDB
- load products in home page from mongodb
- load products in product page from mongodb
- use product api to check count in stock in add to cart
- Create Place Order Screen
- display shipping address
- display payment method
- display order items
- implment create order
- Create Order Screen
- implement backend api for order details
- load order data from backend
- display order details
- Create Register Screen
- add signup api
- create register page
- call api on form submit
- Pay Order By PayPal
- add paypal button
- handle payment
- create backend api
- update order state
- Create Order History Screen
- create my order api
- create order history component
- fetch orders and display them
- Publish On Vercel
- create vercel account
- connect to github
- set next auth and mongodb db in env vars
- push code to github
- Update User Profile
- create profile screen
- show user info
- handle update user info
- Create Admin Dashboard
- Create Admin Menu
- create dashboard screen
- Implement admin summary api
- List Orders For Admin
- create orders page
- create orders api
- use api in page
- Deliver Order For Admin
- create deliver api
- add deliver button
- implement click handler
- List Products For Admin
- create products page
- create products api
- use api in page