Here is a summary of the NilkanthMart e-commerce web application:
- User Roles: The app supports two login roles: Customer and Admin.
- Customer Features: Customers can browse products, add items to the cart, adjust quantities, remove products, apply coupon codes, place orders, and view order history.
- Admin Dashboard: Admins can view statistics like total items purchased, total amount, discount amounts, and a list of used discount codes.
- Customer Management: Admins can set discount frequencies, allowing every nth order from a customer to receive a 10% discount coupon (n can be set from 0 to 20).
Click To Show Screenshots
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Make sure you have installed all of the following prerequisites on your machine:
- Git - Download & Install Git, OSX and Linux machines typically have this already installed.
- Node.js - Download & Install Node.js with the npm package manager.
-
Download or clone the code from this repository. If you download as a zip file, be sure to unzip it.
-
Navigate to the ecommerce-app folder, there should be a package.json file in this folder.
-
In a command window (or the Command prompt in VS Code), type below command.
npm install
This creates a node_modules folder and installs all packages from the package.json file into that folder. You may see a few warnings during this process, but you should not see any errors.
-
In the same command window (or the Command prompt in VS Code), type
npm run dev
The application should then run successfully.
-
Open http://localhost:3000 to view it in the browser.
-
Use below login credentials
Email Password [email protected] customer123 [email protected] admin123
- Next.js - React framework for building full-stack web applications.
- React - User Interface (UI) library
- Typescript - Strongly typed programming language
- Material UI - React UI component library
- Material Icons - Icons library
- Redux Toolkit - A powerful and efficient library that simplifies managing the state in React applications using Redux.
- Redux Persist - A library for persisting Redux state to storage, such as the browser’s local storage.
- Jest - A delightful JavaScript Testing Framework with a focus on simplicity.
- React Testing Library - A lightweight testing utility for React applications that focuses on testing components from a user’s perspective
- @Nilkanth-Patadiya - Idea & Implementation