
Create a Next.js project to start a full stack ecommerce app, follow along with a PDF, and run npm run dev to view the default home page on port 3000.
Set up a Next.js home page and layout, remove CSS, and apply bootstrap material design. Install bootstrap material design, import its min CSS, and use bootstrap classes to center content.
Create a reusable top navigation component in a Next.js app, wiring home, login, and register links. Integrate it into the layout and use next/link for navigation.
Learn to build api routes in Next.js using the app/api convention, creating route.js files under api folders to expose get endpoints that return json responses like the current time.
Sign up for Mongo Atlas, create a project and cluster, then copy the connection string and replace the password with your database user credentials, and store it in environment variables.
Learn to manage environment variables for Vercel deployment by centralizing them in a root config.js, importing into next.config.js, and gitignoring the file to connect to MongoDB via a db uri.
Create a utils/db-connect.js and install Mongoose and validator to connect to MongoDB using a db uri from env; export a connect function for serverless API routes in Next.js on Vercel.
Create a Mongoose user model with fields name, email, password, role, image, and reset code, enable timestamps and unique validation, prepare a register route, and support next auth login.
build a register api route in a next.js app to accept user data, hash passwords with bcrypt, connect to mongodb, create and save a user, and return a success message.
Create a register page in a Next.js ecommerce app, manage name, email, and password with useState, handle async submit, and send data to the backend.
Build a register form in a Next.js React app, handling submit and managing name, email, and password, with inputs, placeholders, and a backend submission, and console log to verify data.
Configure environment-specific API URLs for production and local development, then implement a register API request with fetch, JSON payload, and toast-based feedback.
Create a login page in a Next.js ecommerce app using next-auth signIn with email and password, handle errors with toast, and redirect on success.
Configure NextAuth using a credentials provider, implement password verification with bcrypt against a database, and expose a NextAuth handler with a secret and a sign-in page at /login.
Wrap the app with the session provider from next-auth/react to access logged-in user data via use session and render authentication-based navigation.
Learn to display the logged-in user status in a Next.js React ecommerce app by conditionally rendering login, register, and logout links, show dashboard with username, and implement sign-out with next-auth.
Explore how to implement a loading page in Next.js 13 by adding app/loading.js to show a loading state during page transitions and authentication status.
Explore how to customize the 404 page in Next.js by creating a not found file in the root directory and reloading to view the updated message.
Create a user dashboard and protect it with a next-auth middleware, ensuring only logged-in users can access dashboard routes and redirecting unauthenticated visitors to login.
Learn how to redirect users back to the page they intended to visit after login by extracting the callback URL from query parameters and applying conditional navigation.
Configure next auth with a Google provider, obtain client id and secret from Google developer console, update credentials and redirect callback, and add a sign in with Google button.
Save social login users to the database by using next auth callbacks to check by email and create a MongoDB user with name, email, and image.
Use jwt callbacks in nextauth to fetch the user by email and attach the full user profile, including the role, to the session and reflect it in the navigation.
Build a role-based admin area in Next.js, implementing dynamic redirects to /dashboard/admin or /dashboard/user, an admin layout with navigation, and protection of admin routes from regular users.
Protect admin pages by checking the user role with next.js middleware and with auth, restricting access to the admin dashboard and admin api routes, redirecting non-admin users to home.
Deploy a full stack Next.js app with authentication to Vercel, using env variables and production API URLs, and explore serverless functions and live deployment workflow.
Plan your e-commerce project by building a category model, then add tags and products using a consistent CRUD workflow, and save it as a base for future projects.
Create category api endpoints for admin users to create, list, update, and delete categories, using slugify to generate slugs and connecting to MongoDB.
Create a get function to list all categories by connecting to MongoDB, handling errors, and returning the categories sorted by created date so the newest appear first.
Create dynamic api routes to update and delete a category by its id using a [id] folder in next.js, and update slug from the name with new: true.
Implement the category delete function in the admin area, using find by id and delete, with context params id, error handling, and sending the deleted category to update the frontend.
Create a front-end category context to perform crud operations on the backend and power admin pages for creating and listing categories, with a useCategory hook for easy access.
Create a category via a post request to the backend, handle success or error responses, show toast notifications, and update the UI category list with the new data.
Fetch categories from the admin category endpoint, parse the response as JSON, check response.ok, handle errors with a toast, and update the state with the retrieved categories.
Update a category in a Next.js ecommerce app with a put request to the admin category endpoint, using the category id from state to handle success or error.
Delete a category by sending a fetch request with the delete method to the admin category endpoint, then filter it from the local categories and show a success toast.
Wrap your app layout with the category provider to expose the category context across pages, enabling access via the use category hook in any component.
Build the admin category page in the Next.js ecommerce app by adding a category folder and a categories page, plus two components: category create and category list.
Build a category create form for an ecommerce app that supports create and update via a category context, with a name input, tags like dresses or shirts, and API calls.
Build a category create/update form in Next.js React, with dynamic button styles and actions for create, update, delete, and clear, while managing state and preventing default on clicks.
Create robust category error handling in Next.js ecommerce apps by validating uniqueness, displaying concise messages, and aligning API responses with data payloads to improve admin feedback.
Fetch and manage categories in the admin interface by using context and useEffect to support create, update, and delete operations, preparing for tag creation with a parent category dropdown.
[Includes a 175-page PDF that accompanies video lectures]
Learn to Build and Ultimate Ecommerce Application using latest cutting edge technologies:
React 18
Nextjs 13
React Context
Nextjs API Development
Next Auth
Full Login & Registration System
Social Login
Stripe Payment Gateway
Emailing Users
Bootstrap Material CSS
Chart.js
MongoDB
Dashboard for Users and Admin
Advance Product Searching & Filtering
Star Rating & Commenting System
Likes Feature
Pagination
Sale Price
Shipping
Coupons
Credit Card, Apple Pay, Google Pay
Referral Links / Promotional url
SEO
Tax calculation
Order Management
Deployment
Includes 175 Page PDF
Plus 100's of tips
Welcome to "Full-Stack Ecommerce App with Next.js, React.js, NextAuth and NextAPI" In this comprehensive course, you'll learn how to develop a modern and fully functional ecommerce application using an array of powerful and popular technologies in the web development ecosystem.
Throughout this course, we'll dive deep into Next.js, the leading React framework for building server-rendered applications, and React.js, the renowned JavaScript library for building user interfaces. You'll gain hands-on experience with both frameworks and leverage their powerful features to create dynamic and high-performance web applications.
We'll explore entire JavaScript eco-system to harness the power of building advance full stack application all the way from scratch to deploying to live servers.
Additionally, we'll cover Next.js API, a built-in API route feature that allows you to create serverless API endpoints effortlessly. You'll learn how to leverage this feature to handle backend logic, process data, and communicate with your ecommerce application.
NextAuth will also be a focal point of this course. You'll discover how to integrate NextAuth into your application to provide secure and user-friendly authentication and authorization functionality. With NextAuth, you'll be able to implement features like sign-up, sign-in, password reset, and more.
To enhance the visual appeal and maintain a responsive design, we'll incorporate Bootstrap Material CSS, a most popular, easy to use CSS framework. You'll grasp the foundations of Bootstrap CSS and leverage its extensive collection of utility classes to create a sleek and visually stunning ecommerce application.
By the end of this course, you'll have the skills and knowledge to confidently build a full-stack ecommerce application using Next.js, React.js, NextAuth, NextAPI, Bootstrap Material CSS and Stripe. Join me on this exciting journey and take your web development skills to the next level!
Enroll now and start building your own full-stack ecommerce application today, along with the core fundamentals of React and Next.js!