Skip to content

Grocify is a full-stack grocery delivery ecommerce web app built using the MERN stack . It offers a seamless shopping experience with category-based product search, cart and order management, secure JWT authentication, and Stripe payment integration. Admins can manage products, stock, and orders through a dedicated seller dashboard.

Notifications You must be signed in to change notification settings

moali007/Grocify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GROCIFY

Transforming Grocery Shopping Into Seamless Experiences

last commit javascript languages


πŸ› οΈ Built with the tools and technologies:


πŸ“Œ Description

Grocify is a modern grocery shopping web app built to enhance convenience and simplify the online grocery shopping experience. It offers smooth UI/UX and integrates essential services like payment, cloud storage, and real-time APIs.


πŸš€ Features

πŸ›οΈ User Features

  • Responsive UI for all devices
  • Category-based product search
  • Cart management and order placement
  • Secure authentication using JWT
  • Stripe payment integration
  • Payment verification using Stripe webhooks

πŸ§‘β€πŸ’Ό Seller/Admin Features

  • Admin login with JWT authentication
  • Add, edit, or delete grocery items
  • Manage stock levels
  • View and manage all customer orders

πŸ› οΈ Tech Stack

  • Frontend: React.js, Tailwind CSS
  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Authentication: JWT (JSON Web Tokens)
  • Payments: Stripe + Stripe Webhooks

πŸ” Security Highlights

  • JWT-based secure login/signup system
  • Protected API routes with middleware
  • Stripe webhook verification for payment validation
  • Environment variables used for sensitive data (e.g., API keys)

πŸ“¦ Installation

Prerequisites

  • Node.js & npm
  • MongoDB
  • Stripe account (for payment integration)
  • Cloudinary account

1. Clone the Repository

git clone https://github.com/moali007/grocify.git
cd grocify

2. Set Up Environment Variables

Create .env files in both the root and client directories and add your environment-specific variables

Example for backend .env:

JWT_SECRET=""
#Admin Credentials
SELLER_EMAIL = ""
SELLER_PASSWORD = ""

# MongoDB Setup
MONGODB_URI = ""

# Cloudinary
CLOUDINARY_CLOUD_NAME = ''
CLOUDINARY_API_KEY = ''
CLOUDINARY_API_SECRET = ''

# Stripe Setup
STRIPE_PUBLISHABLE_KEY = ''
STRIPE_SECRET_KEY = ''
STRIPE_WEBHOOK_SECRET = ''

Example for frontend .env:

VITE_CURRENCY = 'β‚Ή'
VITE_BACKEND_URL = ""

3. Install Dependencies

# Backend
cd server
npm install

# Frontend
cd client
npm install

4. Run the Application

# Backend
cd server
npm run start

# Frontend (in a separate terminal)
cd client
npm run dev

πŸ“ Project Structure

grocify/
β”œβ”€β”€ server/
β”‚   β”œβ”€β”€ controllers/
β”‚   β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ routes/
β”‚   └── utils/
β”œβ”€β”€ client/
β”‚   β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ pages/
β”‚   └── context/
└── .env

πŸ“Έ Screenshots

🏠 Home Page

Screenshot 2025-05-31 162105

πŸ“¦ All Products Page

Screenshot 2025-05-31 162141

πŸ›’ Cart Page

Screenshot 2025-05-31 162236

🚚 My Orders Page

Screenshot 2025-05-31 162317

πŸ‘¨πŸ»β€πŸ’» Admin Dashboard

Screenshot 2025-05-31 162414 Screenshot 2025-05-31 162443 Screenshot 2025-05-31 162510

πŸ“„ License

This project is licensed under the MIT License.

About

Grocify is a full-stack grocery delivery ecommerce web app built using the MERN stack . It offers a seamless shopping experience with category-based product search, cart and order management, secure JWT authentication, and Stripe payment integration. Admins can manage products, stock, and orders through a dedicated seller dashboard.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages