Live site | https://california-ecommerce.cyclic.app/ |
Admin Dashboard | https://mern-ecommerce-admin.vercel.app |
- ReactJS - Frontend framework
- Redux Toolkit w/ useDispatch & useSelector hooks - For state management
- Redux Persist - For persisting the state
- React Router - For general routing & navigation
- Material-UI - UI library
- Axios - For data fetching
- Node.js - Runtime environment for JS
- Express.js - Node.js framework, makes process of building APIs easier & faster
- MongoDB - Database to store document-based data
- Mongoose - MongoDB object modeling for Node.js
- AWS S3 - For storing images
- JSON Web Token - A standard to secure/authenticate HTTP requests
- Bcrypt.js - For hashing passwords
- Dotenv - To load environment variables from a .env file
- Authentication (login/register with username-password)
- Sorting of product on basis of latest,price low to high or high to low.
- Password reset
- Cart Add/Remove Items | Update Quantities
- Storing images programmatically in a S3 bucket
- Products Pagination (Default 12 Products Per Page)
- Product Filters Based on Category/Gender/Price
- Persisting cart in the local storage
- Error management to prevent app crashes
- Sort products by latest, highest price, lowest pric.
- Order Details of All Ordered Item
- Toast notifications for actions: adding posts, deleting comments etc.
- Skeleton Loader for relevant fetching processes
- Responsive UI
- Stock Management: Decrease stock of product when shipped
- Admin: Add/Update Products
- Admin: Update Order Status | Delete Order
- Admin: Dashboard access to only admin roles
Notes:
Create .env file in server directory and add the following:
MONGO_URI = "Your Mongo URI"
JWT_SECRET = "Your JWT secret"
BUCKET_NAME = "Bucket Name"
BUCKET_REGION = "Bucket Region"
ACCESS_KEY = "Bucket Access Key"
SECRET_ACCESS_KEY = "Bucket Secret key"
cd client
npm install
npm start
Note: Make sure that you have installed 'nodemon' as global package.
cd server
npm install
npm start