next-tailwind-amazona
  
  
  
  
  
  
  
    
  
    eCommerce
  
  
  
  
  
  
  
  
  
  
  
  
    
  
    JavaScript
  
  
  
  
  
  
    Nextjs Tailwind ECommerce Website Like Amazon
Build ECommerce Website Like Amazon by Next.js
- Source Code : https://github.com/basir/next-amazona
- Demo Website : https://nextjs-amazona-final.vercel.app
What you will learn
- NextJS basics like setting up project, navigating between pages and data fetching
- NextJS advanced topics like dynamic routing, image optimization, SSG and SSR
- Tailwind CSS framework to build responsive website using custom theme, animation and carousel
- ReactJS including decomposing components, context API and hooks
- Next Auth package to authenticate customers and admin users
- MongoDB and Mongoose to save and retrieve data like products, orders and users
- PayPal developer api to make online payment
- Deploy web applications on servers like Vercel and Netlify
Full Course
Learn building this ecommerce website on Udemy with 90% discount:
    https://www.udemy.com/course/nextjs-ecommerce
Run it Locally
$ git clone https://github.com/basir/next-tailwind-amazona
$ cd next-tailwind-amazona
$ npm install
$ npm run dev
$ Open http://localhost:3000/api/seed
$ Open http://localhost:3000
Lessons
- Introduction
- Install Tools
- Create Next App
- Publish to Github
- 
    Create Website Layout - create layout component
- add header
- add main section
- add footer
- add tailwind classes
 
- 
    List Products - add data.js
- add images
- render products
 
- 
    Create Product Details - create product page
- create 3 columns
- show image in first column
- show product info in second column
- show add to cart action on third column
- add styles
 
- 
    Handle Add To Cart - define react context
- define cart items state
- create addd to cart action
- add reducer
- create store provider
- handle add to cart button
 
- 
    Create Cart Page - create cart.js
- use context to get cart items
- list items in cart items
- redirect to cart screen after add to cart
 
- 
    Update Quantity In The Cart - add select box for quantity
- handle select box change
 
- 
    Save Cart Items - install js-cookie package
- save and retreive cart items in cookies
 
- 
    Create Login Form - install react hook form
- create input boxes
- add login button
 
- 
    Connect To MongoDB - install mongoose
- install mongodb or use mongodb atlas
- save connection url in .env file
- create db utils 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
- show user menu
 
- 
    Create Shipping Screen - display address fields
- save address in context
 
- 
    Create Payment Method Screen - dispaly payment methods
- save payment method 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
 
- 
    Create Product Edit Page - create edit page
- create api for product
- show product data in form
 
- 
    Upload Product Image - create cloudinary account
- get cloudinary keys
- create upload api
- upload files in edit page
 
- 
    Create And Delete Products - add create product button
- build new product api
- add handler for delete
- implement delete api
 
- 
    List Users For Admin - create users page
- create users api
- use api in page
 
- 
    Add Carousel - create featured products
- feed carousel data
- show popular products
 
- 
    Create Search Page - create filters
- list products
- show filters
 
 
        