E-Commerce Website

This is a fully functional e-commerce website built using the MERN (MongoDB, Express, React, Node.js) stack. It offers a seamless shopping experience for users and includes features like authentication, role-based access control (RBAC), and an admin panel for product management. The website is secure, scalable, and built with token-based authentication using JWT (JSON Web Token).
Demo
Checkout live demo:
Note: The demo may work incorrectly or exhibit unexpected behavior as new features and updates are being actively added.
Table of Contents
Features
- User Authentication: Token-based authentication using JWT for secure login and registration.
- Role-Based Access Control (RBAC): Access restrictions based on user roles (e.g., admin, customer).
- Admin Panel: Manage products, users, orders, and categories via a secure admin interface.
- Product Search & Filtering: Advanced search and filter options for users to easily find products.
- Shopping Cart: Add/remove items, manage quantities, and proceed to checkout.
- Order Management: Users can view their order history and order details.
- Secure Payment Gateway: Integrated with a payment provider for safe and secure transactions.
- Responsive Design: Mobile-friendly interface for a smooth shopping experience on any device.
Tech Stack
-
Frontend:
-
Backend:
- Node.js
- Express for API and server management
- MongoDB as the NoSQL database
- Redis for caching and session management
- JWT for token-based authentication
-
Other Technologies:
- Mongoose for MongoDB object modeling
- Stripe for payment processing
- Nodemailer for sending emails (e.g., order confirmation)
Prerequisites
Ensure you have the following installed:
Installation
1.Clone the repository
2.Update Backend Environment Variables
3.Update Frontend and Admin Environment Variables
4.Install Backend Dependencies
5.Run the Backend Server
6.Install Frontend Dependencies
7.Run the Frontend Server
8.Install Admin Panel Dependencies
9.Run the Admin Panel Server
Contributing
We welcome contributions from the community! If you'd like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes and commit them:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/your-feature-name
- Open a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contact
If you have any questions or suggestions, feel free to open an issue or contact us at kalczugag@gmail.com.
Thank you for using E-Commerce App! We hope it enhances your communication experience.