Skip to content

devmdrd/ecart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ecart

🚀 Live Demo

🔗 ecart Live

📌 Overview

ecart is a modern and user-friendly e-commerce application designed to streamline online shopping. It provides a seamless shopping experience with features like product browsing, cart management, and secure checkout.

✨ Features

  • ✅ User authentication and authorization
  • ✅ Product listing and categorization
  • ✅ Shopping cart functionality
  • ✅ Order management
  • ✅ Secure payment gateway integration
  • ✅ Responsive and intuitive UI

🛠️ Installation

To set up the project locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/devmdrd/ecart.git
  2. Install dependencies:

    npm install
  3. Set up environment variables:
    Create a .env file in the root directory and configure the necessary environment variables. Example:

    # Google OAuth credentials
    GOOGLE_CLIENT_ID=your-google-client-id-here
    GOOGLE_CLIENT_SECRET=your-google-client-secret-here
    
    # MongoDB connection URI
    MONGO_URI=mongodb://your-mongo-uri-here
    
    # Application Port
    PORT=3000
    
    # Twilio credentials
    TWILIO_ACCOUNT_SID=your-twilio-account-sid-here
    TWILIO_AUTH_TOKEN=your-twilio-auth-token-here
    TWILIO_PHONE_NUMBER=your-twilio-phone-number-here
    
    # Google OAuth callback URL
    CALLBACK_URL=http://your-callback-url-here
    
    # Session secret
    SESSION_SECRET=your-session-secret-here
    
    # Nodemailer Email Credentials
    EMAIL_USER=your-email-user-here
    EMAIL_PASS=your-email-password-here
    
    # Stripe API keys
    STRIPE_SECRET_KEY=your-stripe-secret-key
    STRIPE_PUBLISHABLE_KEY=your-stripe-publishable-key
  4. Run the development server:

    npm run dev

🔧 Technologies Used

🖥️ Frontend

  • EJS – Embedded JavaScript templates for server-side rendering
  • Tailwind CSS – Utility-first CSS framework for modern UI design

🛠️ Backend

  • Node.js – JavaScript runtime environment
  • Express.js – Lightweight web application framework

🗄️ Database

  • MongoDB – NoSQL, document-based database for scalable data storage

🔐 Authentication

  • Google OAuth 2.0 (via Passport.js) – Social login with Google
  • Custom Email/Password Authentication – Manually implemented user login and registration

💳 Payment Integration

  • Stripe API – Secure and developer-friendly payment gateway

📱 OTP Service

  • Twilio – OTP service for user registration verification

📧 Email Service

  • Nodemailer – Email service for "Forgot Password" functionality

📂 Project Structure

/ecart
│
├── /src
│   ├── /api
│   │   ├── /controllers
│   │   │   ├── /admin
│   │   │   └── /customer
│   │   ├── /middlewares
│   │   ├── /models
│   │   ├── /routes
│   │   ├── /views
│   │   │   ├── /admin
│   │   │   │   ├── /attributes
│   │   │   │   ├── /banners
│   │   │   │   ├── /brands
│   │   │   │   ├── /categories
│   │   │   │   ├── /coupons
│   │   │   │   ├── /customers
│   │   │   │   └── /products
│   │   │   ├── /client
│   │   │   │   ├── /accounts
│   │   │   │   ├── /auth
│   │   │   │   ├── /orders
│   │   │   │   ├── /products
│   │   │   │   └── /shopping
│   │   │   ├── /layouts
│   │   │   │   └── /partials
│   │   │   └── error.ejs
│   │   ├── /public
│   │   │   └── /js
│   │
│   ├── /config
│   │   ├── db.js
│   │   └── passport.js
│
├── .env
├── .env.example
├── .gitignore
├── README.md
├── package.json
├── package-lock.json
└── server.js

📞 Contact

For any inquiries or support, reach out to Muhammed Rashid.

About

ecart is a modern and user-friendly e-commerce application designed to streamline online shopping. It provides a seamless shopping experience with features like product browsing, cart management, and secure checkout.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors