Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kitblin - Quick Commerce Marketplace

A full-stack quick-commerce web application built with Next.js, Node.js, Express, and MongoDB.

Live: https://frontend-omega-six-31.vercel.app
GitHub: https://github.com/aakashpate/kitblin

Features

Customer App

  • Product browsing with categories, search, and filters
  • Shopping cart with quantity controls
  • Wishlist management
  • Checkout with Razorpay payment or Cash on Delivery
  • Order tracking with real-time status updates
  • Coupon and discount system
  • Product reviews and ratings
  • Multiple delivery addresses
  • Support ticket system
  • Notifications
  • Fully responsive mobile-first UI

Admin Dashboard

  • Revenue and order analytics with charts
  • Product management (CRUD with image upload)
  • Order management with status updates
  • Customer management
  • Coupon management
  • Review moderation
  • Support ticket management
  • Banner management
  • Delivery fee configuration

Delivery Partner Dashboard

  • Available orders for pickup
  • Order status updates (Pick Up → Out for Delivery → Delivered)
  • Delivery history
  • Earnings dashboard with charts
  • Availability toggle
  • Customer contact info

Tech Stack

  • Frontend: Next.js 14, React 18, TypeScript, Tailwind CSS
  • Backend: Node.js, Express.js, MongoDB, Mongoose
  • Authentication: JWT, bcrypt
  • Payments: Razorpay
  • Images: Cloudinary
  • State Management: Zustand
  • Charts: Chart.js

Project Structure

kitblin/
├── frontend/          # Next.js frontend
│   ├── app/           # Pages and routes
│   ├── components/    # Reusable components
│   ├── lib/           # Utilities and API
│   ├── store/         # Zustand stores
│   └── types/         # TypeScript types
├── backend/           # Express.js backend
│   └── src/
│       ├── controllers/
│       ├── middleware/
│       ├── models/
│       ├── routes/
│       ├── utils/
│       ├── config/
│       └── seed.js
└── README.md

Prerequisites

  • Node.js 18+
  • MongoDB (local or Atlas)
  • npm or yarn

Setup

1. Clone the repository

git clone https://github.com/aakashpate/kitblin.git
cd kitblin

2. Backend Setup

cd backend
npm install
cp .env.example .env
# Edit .env with your MongoDB URI, JWT secret, Razorpay keys, Cloudinary keys
npm run seed    # Seed database with sample data
npm run dev     # Start backend on port 5000

3. Frontend Setup

cd frontend
npm install
cp .env.local.example .env.local
# Edit .env.local with your API URL and keys
npm run dev     # Start frontend on port 3000

Environment Variables

Backend (.env)

Variable Description
PORT Server port (default: 5000)
MONGODB_URI MongoDB connection string
JWT_SECRET JWT signing secret
CLIENT_URL Frontend URL (http://localhost:3000)
RAZORPAY_KEY_ID Razorpay key
RAZORPAY_KEY_SECRET Razorpay secret
CLOUDINARY_CLOUD_NAME Cloudinary cloud name
CLOUDINARY_API_KEY Cloudinary API key
CLOUDINARY_API_SECRET Cloudinary API secret

Frontend (.env.local)

Variable Description
NEXT_PUBLIC_API_URL Backend API URL (http://localhost:5000/api)
NEXT_PUBLIC_RAZORPAY_KEY_ID Razorpay key
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY Google Maps API key

Default Credentials

Role Email Password
Admin admin@kitblin.local ChangeMe123!
Delivery Partner rahul@kitblin.local Delivery123!
Customer customer@kitblin.local Customer123!

⚠️ Change these passwords before production deployment!

API Endpoints

Auth

  • POST /api/auth/register
  • POST /api/auth/login
  • GET /api/auth/me
  • PUT /api/auth/change-password

Products

  • GET /api/products
  • GET /api/products/search
  • GET /api/products/featured
  • GET /api/products/:slug
  • POST /api/products (Admin)
  • PUT /api/products/:id (Admin)
  • DELETE /api/products/:id (Admin)

Categories

  • GET /api/categories
  • GET /api/categories/:slug
  • POST /api/categories (Admin)

Cart

  • GET /api/cart
  • POST /api/cart
  • PUT /api/cart/:itemId
  • DELETE /api/cart/:itemId

Orders

  • POST /api/orders
  • GET /api/orders/my-orders
  • GET /api/orders/:id
  • PUT /api/orders/:id/cancel

And many more...

Deployment

Frontend (Vercel)

cd frontend
npm run build
# Deploy to Vercel

Backend (Render/Railway)

cd backend
npm run build
# Deploy to Render or Railway

Database (MongoDB Atlas)

  • Create a free cluster at mongodb.com
  • Get connection string
  • Add to MONGODB_URI

License

MIT License

About

Quick Commerce Web App - Full-stack Next.js + Express/MongoDB

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages