Nextjs Ecommerce

screenshot of Nextjs Ecommerce

Nextjs Ecommerce

E-commerce App using NEXTJS 13 , TypeScript , SWR , Redux toolkit , Mongoose , react hook forms


This product is an ecommerce app developed using Next.js, TypeScript, Tailwind CSS, Redux Toolkit, and MongoDB. It features an admin dashboard with functionalities such as adding, viewing, updating, and deleting products and categories. It also includes a multi-user login system, JWT validation, authorization for admin and customer access, handling order delivery, and tracking order status. The app allows customers to view products and categories, add products to cart, remove products from cart, increase or decrease cart quantities, and order products. More functionalities will be added over time.


  • Admin Dashboard with features like adding, viewing, updating, and deleting products and categories.
  • Multi-user login system with sign-in, sign-up, and forget password functionalities.
  • JWT validation on each authorized request for added security.
  • Authorization validation for admin access and customer access.
  • Handle order delivery with functionalities for pending order list and completed order list.
  • Customer features include viewing products and categories, adding products to cart, removing products from cart, increasing or decreasing cart item quantities.
  • Alert if in-stock quantity of a product is not available.
  • Bookmark favorite products and remove products from bookmark.
  • Order products with functionalities for tracking order status and viewing order details.


To run this project, you will need to follow these steps:

  1. Clone the project to your local machine:

    git clone
  2. Navigate to the project directory:

    cd my-project
  3. Install dependencies using npm:

    npm install
  4. Create a .env file in the root directory and add the following environment variables:

    DB_URI=Your MongoDB URL
    JWT_SECRET=Your custom JWT_SECRET key
    NEXT_PUBLIC_API_BASE_URL=Base URL for localhost => http://localhost:3000
  5. Start the development server:

    npm run dev
  6. Access the app in your browser at http://localhost:3000.


This product is a Next.js ecommerce app with a wide range of features including an admin dashboard, multi-user login system, JWT validation, authorization, handling orders, and much more. It allows customers to browse products, add them to cart, and place orders with tracking functionality. The app is built using technologies like Next.js, TypeScript, Tailwind CSS, Redux Toolkit, and MongoDB. Installation is done by cloning the project, installing dependencies, and adding necessary environment variables. Overall, this app provides a comprehensive ecommerce solution for both customers and admins.


Next.js is a React-based web framework that enables server-side rendering, static site generation, and other powerful features for building modern web applications.


React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components


Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.


daisyUI adds classes to Tailwind CSS for all common UI components. Classes like btn, card, etc. This allows us to focus on important things instead of making basic elements for every project.


Firebase offers a comprehensive set of features, including real-time database, authentication, hosting, cloud functions, storage, and more. Firebase provides an easy-to-use interface and allows developers to focus on building features rather than managing infrastructure.


A dashboard style website template is a pre-designed layout that features a user interface resembling a control panel or dashboard. It typically includes charts, graphs, tables, and other data visualization tools that allow users to monitor and analyze data in real-time.


Ecommerce websites sell products or services to customers through an online storefront. These websites typically include features such as product listings, shopping carts, payment processing, and order management tools.


ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.


PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.


TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.