Skip to content

The Practice Project for the Backend Course with Node.

License

Notifications You must be signed in to change notification settings

LaraSamara/E-commarce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

E-commerce Platform

Welcome to the E-commerce Platform repository! This project provides a fully-featured e-commerce application, allowing users to browse products, add them to their cart, and securely checkout. The admin panel allows for managing products, categories, and viewing orders.

🌟 Features

  • 🔐 User Authentication: Secure user registration, login, and password recovery.
  • 🛒 Cart System: Add products to the cart, modify quantities, and proceed to checkout.
  • 📦 Product Management: Manage products, categories, and inventory.
  • 🔍 Product Search & Filters: Find products based on categories, price range, etc.
  • 📦 Order Management: Admin can view orders, update order statuses, and manage customers.
  • 📊 Analytics: Track order history, revenue, and more.

🛠️ Installation

Prerequisites

Steps

  1. Clone the Repository
    git clone https://github.com/LaraSamara/E-commarce.git
    cd E-commarce
    
  2. Install Dependencies
    npm install
    
  3. Set Environment Variables

🖥️ Technology

  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Payment Gateway: Stripe (or any other of your choice)
  • Authentication: JWT (JSON Web Tokens)
  • Email Integration: SendGrid (for sending emails like order confirmations)
  • Environment Variables: dotenv
  • Security: bcrypt.js (for password hashing)

🎮 Usage

Once the application is running, users can:

  • Sign Up: Create an account with their email and a secure password.

  • Login: Access their account using email and password.

  • Browse Products: View the products listed by category and filter them based on their preferences.

  • Add to Cart: Users can add products to their shopping cart, modify quantities, and proceed to checkout.

  • Checkout: Complete the purchase by providing shipping details and payment information. Admins can:

  • Manage Products: Add, update, and delete products in the admin panel.

  • View Orders: Track customer orders and update order statuses (e.g., pending, shipped).

  • Manage Customers: View and manage customer details and their order history.

📝 Contributing

We welcome contributions to improve this project! Here's how you can contribute:

  • Fork the Repo: Fork this repository to your own GitHub account.
  • Create a Branch: Create a branch for your improvements or bug fixes.
  • Submit a Pull Request: Once you're happy with your changes, submit a PR to the main branch.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.