Welcome to the easy-cart e-commerce project! This project is a fully functional e-commerce web application developed using the MERN (MongoDB, Express.js, React.js, Node.js) stack. The application is designed to provide a seamless shopping experience for users and a robust management interface for administrators.
- Introduction
- Features
- Resources Used
- Installation
- Usage
- Screenshots
- Contributing
- License
easy-cart is a responsive and user-friendly e-commerce web application. It allows users to browse products, add them to a cart or wishlist, and make secure payments using the integrated Stripe payment gateway. The application also features an admin panel for managing products, users, and orders.
Users can log in to the application using their email and password. We implemented secure authentication mechanisms to ensure user data protection.
Users have the option to log in using their Google account for a faster and more convenient authentication process.
New users can register for an account by providing their details, including name, email, and password.
The home page displays a welcoming interface with featured products, categories, and promotions. Users can easily navigate through various sections.
This page lists all available products. Users can sort and filter products based on different criteria such as price, popularity, and category.
Users can browse products by category. Each category page displays products that belong to a specific category.
Detailed information about a product is provided on this page, including images, descriptions, features, price, and user reviews.
Users can add products to their wishlist for future reference. The wishlist page shows all the products that a user has added to their wishlist.
Users can view their past and current orders, track the status of their orders, and see detailed information about each order.
The cart page displays all the products that a user has added to their cart. Users can adjust quantities, remove items, and proceed to checkout.
We integrated Stripe for secure payments. Users can enter their payment information and complete their purchases.
Users can view and edit their profile information, including personal details and saved addresses.
The admin home page provides an overview of the admin functionalities and quick links to various management pages.
The dashboard provides a summary of key metrics such as monthly sales, top purchased products, and user statistics.
Admins can view, edit, and delete user accounts. The page also provides information about user activity and order history.
Admins can add new products by providing product details, images, and other relevant information.
This page allows admins to manage existing products, including editing details, updating stock, and deleting products.
Admins can view and manage all orders, update order statuses, and track shipment information.
- React.js: Frontend library
- Node.js: Backend runtime environment
- Express.js: Backend framework
- MongoDB: Database
- Mongoose: MongoDB object modeling tool
- Axios: HTTP client
- nodemon: Restart server on changes
- reduxjs/toolkit: Central Store details
- mui/icons-material: Material UI icons
- jsonwebtoken: JWT token
- tailwind: easy CSS with responsive
- react-chartjs-2: Display charts effectively
- crypto-js: Encryption
- Stripe: Payment gateway
- multer: Image storage
- Cloudinary: Image storage
- Clone the repository:
git clone https://github.com/harsha335/easy-cart.git
- Navigate to the project directory:
cd easy-cart
- Install dependencies for both backend and frontend:
cd frontend npm install cd ../backend npm install
- Create a
.env
file in the root directory and add your environment variables.
- Start the backend server:
npm run dev
- Start the frontend development server:
cd client npm start
Contributions are welcome! Please open an issue or submit a pull request for any changes or enhancements.
This project is licensed under the MIT License. See the LICENSE file for details.
Feel free to add any additional information or modify the content as needed.