Skip to content

rabeeh-dev/HOOF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

4 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

โ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•— โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—
โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—  
โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘   โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•  
โ–ˆโ–ˆโ•‘  โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘     
โ•šโ•โ•  โ•šโ•โ• โ•šโ•โ•โ•โ•โ•โ•  โ•šโ•โ•โ•โ•โ•โ• โ•šโ•โ•     

๐Ÿ‘Ÿ Step Into Style โ€” Shop the Finest Footwear Online

Node.js Express MongoDB EJS License: MIT


HOOF is a modern full-stack ecommerce platform built for footwear lovers.
Browse, discover, and shop the latest shoes โ€” fast, beautiful, and secure. ๐Ÿ›’โœจ


โœจ Features โ€ข ๐Ÿ› ๏ธ Tech Stack โ€ข โš™๏ธ Installation โ€ข ๐Ÿ“ธ Screenshots โ€ข ๐Ÿค Contributing


๐Ÿ“Œ Table of Contents


๐ŸŒŸ About the Project

HOOF is a sleek, fully-responsive ecommerce website dedicated to footwear. Whether you're hunting for sneakers, formal shoes, or everyday casuals โ€” HOOF has you covered. Powered by a robust Node.js + Express backend with EJS server-side rendering, Passport.js authentication, OTP verification, Wallet system, Referral codes, and a MongoDB database โ€” it delivers a premium shopping experience from browsing to checkout.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                                                              โ”‚
โ”‚  ๐Ÿ  Home โ†’ ๐Ÿ‘Ÿ Shop โ†’ ๐Ÿ›’ Cart โ†’ ๐Ÿ’ณ Checkout โ†’ ๐Ÿ“ฆ Orders     โ”‚
โ”‚                                                              โ”‚
โ”‚         Fast  โ€ข  Secure  โ€ข  Beautiful  โ€ข  Scalable          โ”‚
โ”‚                                                              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โœจ Features

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
โ•‘                      ๐ŸŒŸ CORE FEATURES                        โ•‘
โ• โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ฃ
โ•‘  ๐Ÿ”  User Auth โ€” Register, Login, Google OAuth (Passport.js) โ•‘
โ•‘  ๐Ÿ“ฑ  OTP Verification via Email                              โ•‘
โ•‘  ๐Ÿ‘Ÿ  Product Catalog with Filters, Search & Categories       โ•‘
โ•‘  ๐Ÿ›’  Shopping Cart โ€” Add, Remove & Update Quantities         โ•‘
โ•‘  โค๏ธ   Wishlist โ€” Save Favourite Products                     โ•‘
โ•‘  ๐Ÿ’ณ  Secure Payment Gateway Integration                      โ•‘
โ•‘  ๐Ÿ“ฆ  Order Management โ€” Place, Track & View History          โ•‘
โ•‘  ๐Ÿ’ฐ  Wallet System โ€” Refunds & Balance Management            โ•‘
โ•‘  ๐ŸŽŸ๏ธ  Coupon Management โ€” Discounts & Promo Codes             โ•‘
โ•‘  ๐Ÿ”—  Referral Code System                                    โ•‘
โ•‘  ๐Ÿ—บ๏ธ  Address Management โ€” Multiple Delivery Addresses        โ•‘
โ•‘  ๐Ÿ›ก๏ธ  Admin Dashboard โ€” Products, Orders, Users, Categories  โ•‘
โ•‘  ๐Ÿงญ  Breadcrumb Navigation                                   โ•‘
โ•‘  ๐Ÿ“ง  Email Notifications & Password Reset                    โ•‘
โ•‘  ๐Ÿ“ฑ  Fully Responsive UI (Mobile-First)                      โ•‘
โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
  • โœ… User Auth โ€” Register, Login, Google OAuth via Passport.js
  • โœ… OTP Verification โ€” Email-based OTP on signup & password reset
  • โœ… Product Catalog โ€” Filter by category, search, sort & paginate
  • โœ… Shopping Cart โ€” Add, remove, update quantities in real-time
  • โœ… Wishlist โ€” Save products for later with one click
  • โœ… Payment Gateway โ€” Safe and seamless online payments
  • โœ… Order Management โ€” Track status, view history, order details
  • โœ… Wallet System โ€” Refunds credited to wallet, spend on orders
  • โœ… Coupons & Discounts โ€” Admin-created promo codes at checkout
  • โœ… Referral System โ€” Earn rewards by referring friends
  • โœ… Address Book โ€” Multiple saved addresses per user
  • โœ… Admin Dashboard โ€” Full CRUD: products, categories, orders, users
  • โœ… Server-Side Rendering โ€” Fast page loads with EJS + layouts
  • โœ… Responsive Design โ€” Polished UI on any screen size

๐Ÿ› ๏ธ Tech Stack

Layer Technology
๐ŸŽจ Frontend EJS, CSS3, Vanilla JavaScript
โš™๏ธ Backend Node.js, Express.js
๐Ÿ—„๏ธ Database MongoDB, Mongoose ODM
๐Ÿ” Auth Passport.js (Local + Google OAuth), bcrypt, Express Session
๐Ÿ“ง Email / OTP Nodemailer
๐Ÿ–ผ๏ธ File Uploads Multer
๐Ÿ’ณ Payments Razorpay
๐Ÿ”ง Dev Tools Nodemon, Git, Postman, VS Code
     ๐ŸŒ BROWSER
          โ”‚
          โ”‚  HTTP Request (GET / POST)
          โ–ผ
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚          โš™๏ธ  EXPRESS.JS SERVER         โ”‚
  โ”‚                                       โ”‚
  โ”‚  Routes โ†’ Middleware โ†’ Controllers    โ”‚
  โ”‚            โ†“                          โ”‚
  โ”‚       Services / Utils                โ”‚
  โ”‚            โ†“                          โ”‚
  โ”‚       EJS Views (SSR)                 โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                 โ”‚
                 โ”‚  Mongoose ODM
                 โ–ผ
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚             ๐Ÿ—„๏ธ  MONGODB                โ”‚
  โ”‚  Users | Products | Orders | Cart     โ”‚
  โ”‚  Wishlist | Wallet | Coupons | OTP    โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“ Project Structure

HOOF/
โ”‚
โ”œโ”€โ”€ ๐Ÿ“„ app.js                          # Express app entry point
โ”œโ”€โ”€ ๐Ÿ“„ backfillReferralCodes.js        # Utility: backfill referral codes
โ”œโ”€โ”€ ๐Ÿ“„ package.json
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ config/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ db.js                       # MongoDB connection
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ passport.js                 # Passport.js strategies (Local + Google)
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ controller/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Address.js                  # Address CRUD for users
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Admin.js                    # Admin dashboard & user management
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ AdminCoupon.js              # Admin coupon management
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ AdminProduct.js             # Admin product management
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Coupon.js                   # User coupon application
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Product.js                  # Product listing & details
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ User.js                     # User profile, auth, OTP
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ UserCheckout.js             # Checkout & order placement
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ middleware/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ adminAuth.js                # Admin route protection
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ auth.js                     # User route protection
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ breadcrumb.js               # Breadcrumb navigation builder
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ cartCount.js                # Inject cart count into views
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ multer.js                   # Profile image upload config
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ productMulter.js            # Product image upload config
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ wishlistCount.js            # Inject wishlist count into views
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ model/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Address.js                  # Address schema
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Admin.js                    # Admin schema
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Cart.js                     # Cart schema
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Category.js                 # Category schema
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Coupon.js                   # Coupon schema
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Order.js                    # Order schema
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Otp.js                      # OTP schema
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Product.js                  # Product schema
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Review.js                   # Review & rating schema
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ User.js                     # User schema
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Wallet.js                   # Wallet schema
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ Wishlist.js                 # Wishlist schema
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ routes/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Address.js                  # /address/*
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Admin.js                    # /admin/*
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Auth.js                     # /login, /register, /logout
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ User.js                     # /shop, /cart, /orders, etc.
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ services/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ AdminProduct.js             # Admin product business logic
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Auth.js                     # Auth service (OTP, sessions)
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Password.js                 # Password reset logic
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ Product.js                  # Product filtering & search
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ User.js                     # User profile logic
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ UserCheckout.js             # Checkout business logic
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ Wallet.js                   # Wallet debit/credit logic
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ utils/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ generateOtp.js              # OTP generator
โ”‚   โ””โ”€โ”€ ๐Ÿ“„ sendEmail.js                # Nodemailer email sender
โ”‚
โ”œโ”€โ”€ ๐Ÿ“‚ public/
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ admin/
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ css/                    # Admin stylesheets
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ js/                     # Admin client-side scripts
โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ user/
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ css/                    # User stylesheets
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ js/                     # User client-side scripts
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“‚ fonts/                  # Custom fonts
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ images/                 # Static UI images
โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ uploads/
โ”‚       โ”œโ”€โ”€ ๐Ÿ“‚ products/               # Uploaded product images
โ”‚       โ””โ”€โ”€ ๐Ÿ“‚ profile/                # Uploaded user profile pictures
โ”‚
โ””โ”€โ”€ ๐Ÿ“‚ views/
    โ”œโ”€โ”€ ๐Ÿ“‚ Admin/
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ admin-dashboard.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ product-management.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ add-product.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ edit-product.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ category-management.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ coupon-management.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ admin-orders.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ admin-order-detail.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ user-management.ejs
    โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ auth/
    โ”‚       โ””โ”€โ”€ ๐Ÿ“„ login.ejs
    โ”œโ”€โ”€ ๐Ÿ“‚ User/
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ landing.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ home.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ shop.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ product-details.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ cart.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ checkout.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ wishlist.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ orders.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ order-detail.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ order-success.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ wallet.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ referral.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ user-profile.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ user-address.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ change-email.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ about.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ contact.ejs
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ 404.ejs
    โ”‚   โ””โ”€โ”€ ๐Ÿ“‚ auth/
    โ”‚       โ”œโ”€โ”€ ๐Ÿ“„ login.ejs
    โ”‚       โ”œโ”€โ”€ ๐Ÿ“„ register.ejs
    โ”‚       โ”œโ”€โ”€ ๐Ÿ“„ verify-otp.ejs
    โ”‚       โ”œโ”€โ”€ ๐Ÿ“„ forgot-password.ejs
    โ”‚       โ””โ”€โ”€ ๐Ÿ“„ reset-password.ejs
    โ”œโ”€โ”€ ๐Ÿ“‚ layouts/
    โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ admin.ejs               # Admin layout wrapper
    โ”‚   โ””โ”€โ”€ ๐Ÿ“„ user.ejs                # User layout wrapper
    โ””โ”€โ”€ ๐Ÿ“‚ partials/
        โ”œโ”€โ”€ ๐Ÿ“‚ admin/
        โ”‚   โ”œโ”€โ”€ ๐Ÿ“„ overlay.ejs
        โ”‚   โ””โ”€โ”€ ๐Ÿ“„ overlay-scripts.ejs
        โ””โ”€โ”€ ๐Ÿ“‚ user/
            โ”œโ”€โ”€ ๐Ÿ“„ head.ejs
            โ”œโ”€โ”€ ๐Ÿ“„ header.ejs
            โ””โ”€โ”€ ๐Ÿ“„ footer.ejs

โš™๏ธ Installation & Setup

๐Ÿ“‹ Prerequisites

Make sure you have the following installed:

  • ๐ŸŸข Node.js v16+
  • ๐Ÿƒ MongoDB (local or MongoDB Atlas)
  • ๐Ÿ”ง Git
  • ๐Ÿ“ฆ npm

๐Ÿ”ฝ Clone the Repository

git clone https://github.com/rabeeh-dev/HOOF.git
cd HOOF

๐Ÿ“ฆ Install Dependencies

npm install

๐Ÿ” Setup Environment Variables

cp .env.example .env

Fill in your values in the .env file (see section below).


โ–ถ๏ธ Run the App

# Development mode (auto-restart with nodemon)
npm run dev

# Production mode
npm start

๐ŸŒ App runs on: http://localhost:3000


๐Ÿ›ก๏ธ Access Admin Dashboard

  1. Register / seed an admin document in MongoDB
  2. Visit http://localhost:3000/admin

๐Ÿ” Environment Variables

Create a .env file in the root directory:

# โ”€โ”€โ”€ Server โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
PORT=3000
NODE_ENV=development

# โ”€โ”€โ”€ Database โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
MONGO_URI=mongodb://localhost:27017/hoofdb
# OR MongoDB Atlas:
# MONGO_URI=mongodb+srv://<username>:<password>@cluster.mongodb.net/hoofdb

# โ”€โ”€โ”€ Session โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
SESSION_SECRET=your_super_secret_session_key

# โ”€โ”€โ”€ Google OAuth (Passport.js) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_CALLBACK_URL=http://localhost:3000/auth/google/callback

# โ”€โ”€โ”€ Email / OTP โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_email_app_password

# โ”€โ”€โ”€ Payment Gateway โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
RAZORPAY_KEY_ID=your_razorpay_key_id
RAZORPAY_KEY_SECRET=your_razorpay_key_secret

โš ๏ธ Never commit your .env file! It's already covered by .gitignore.



๐Ÿ“ธ Screenshots

๐Ÿ  Home Page ๐Ÿ‘Ÿ Shop
Screenshot coming soon Screenshot coming soon
๐Ÿ›’ Shopping Cart ๐Ÿ›ก๏ธ Admin Dashboard
Screenshot coming soon Screenshot coming soon
๐Ÿ’ฐ Wallet ๐ŸŽŸ๏ธ Coupons
Screenshot coming soon Screenshot coming soon

๐Ÿค Contributing

Contributions are always welcome! ๐Ÿ™Œ

# 1. Fork the repository on GitHub

# 2. Clone your fork
git clone https://github.com/your-username/HOOF.git

# 3. Create a feature branch
git checkout -b feature/AmazingFeature

# 4. Commit your changes
git commit -m "โœจ Add some AmazingFeature"

# 5. Push to your branch
git push origin feature/AmazingFeature

# 6. Open a Pull Request ๐ŸŽ‰

๐Ÿ› Found a Bug?

Open an issue and include:

  • ๐Ÿ” A clear description of the problem
  • ๐Ÿ” Steps to reproduce it
  • ๐Ÿ“ธ Screenshots if applicable

๐Ÿ“„ License

This project is licensed under the MIT License โ€” see the LICENSE file for details.

MIT License โ€” Free to use, modify & distribute with attribution.

๐Ÿ‘จโ€๐Ÿ’ป Author

Muhammed Rabeeh Full Stack & Mobile App Developer

GitHub LinkedIn Portfolio


Made with โค๏ธ and โ˜• from Kerala, India ๐Ÿ‡ฎ๐Ÿ‡ณ

โญ If HOOF impressed you, drop a star on the repo! โญ

About

A modern full-stack footwear ecommerce platform with authentication, OTP verification, wallet system, payments, admin dashboard, and a complete shopping experience built using Node.js, Express, MongoDB, and EJS.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors