Skip to content

DarshanCode2005/Quickcart

Repository files navigation

QuickCart

Full-stack grocery delivery platform with three roles: Customer, Shop Owner, and Delivery Agent.

Stack

  • Next.js 15 (App Router) · MongoDB + Mongoose · NextAuth v5
  • Pusher (real-time) · Stripe + COD · OpenAI (chat suggestions)
  • Framer Motion · Tailwind CSS · Leaflet · Vercel

Foundation npm packages are installed (see docs/IMPLEMENTATION_CONTEXT.md QC-05 for versions).

Roles & routes

Role Entry after login
Customer /customer/shops
Owner /owner/dashboard
Agent /agent/available

Getting started

  1. Copy env: cp .env.example .env.local and fill values.
  2. Install: npm install
  3. Run: npm run dev
  4. Open http://localhost:3000

See docs/IMPLEMENTATION_CONTEXT.md for per-issue implementation notes.

GitHub Issues

Board: https://github.com/DarshanCode2005/Quickcart/issues

65 atomic issues (QC-00QC-64) with Learn / Build / Acceptance sections. See docs/ISSUE_MAP.md for QC ID → issue number mapping.

Re-create issues (idempotent): python3 scripts/create_github_issues.py

Learning path

Work through GitHub Issues in milestone order (M0 → M8). Each issue has Learn, Build, and Acceptance criteria sections.

Milestone Focus
M0 Repository setup
M1 Foundation, models, auth
M2 Customer flow
M3 Owner flow
M4 Agent flow
M5 Pusher + chat + AI
M6 Payments
M7 UI polish + tracking
M8 Deployment

Project structure

app/
  (auth)/          login, signup
  (customer)/      shops, cart, checkout, orders
  (owner)/         dashboard, inventory, orders
  (agent)/         available, delivery
  api/             REST + webhooks
components/        ui, map, chat, order
lib/               db, auth, stripe, pusher, ai
models/            Mongoose schemas
hooks/             usePusher, useLocation, useCart

Risks & notes

  • Pusher: required for live tracking and chat on Vercel (no custom Socket.io server).
  • OpenAI: /api/ai/suggest only — never expose OPENAI_API_KEY client-side.
  • OTP: hashed with bcrypt; emailed via Nodemailer.
  • Stripe INR: amounts in paise (smallest unit).

License

MIT

About

This is just a hobby side-project, just tried building a clone of grocery delivery app

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors