Skip to content

MERN-based online store for pet accessories 🐢 Includes image upload, stock tracking & API.

Notifications You must be signed in to change notification settings

budaala/pawww-store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐾 Pawww Store – Pet Supplies Web App

A full-stack MERN (MongoDB, Express, React, Node.js) e-commerce web application for pet supplies. Pawww Store allows users to browse products, manage a shopping cart, place orders, and process payments securely via Stripe. The backend exposes a robust RESTful API, while the frontend offers an intuitive and responsive user interface.

✨ Features

  • πŸ›οΈ Product Catalog: Browse a list of pet products with images, prices, and stock status.
  • πŸ›’ Shopping Cart: Add, remove, and update product quantities; cart state is persisted in LocalStorage.
  • βœ… Order Placement: Seamlessly place orders; stock levels update automatically.
  • πŸ” User Authentication: Register, log in, and manage sessions using JWT.
  • 🧩 Responsive Design: Fully responsive UI using React & Material UI (MUI).
  • πŸ’³ Stripe Payments: Secure online payments via Stripe integration.

πŸ”§ Tech Stack

  • Frontend: React, Material UI (MUI)
  • Backend: Node.js, Express.js
  • Database: MongoDB + Mongoose
  • Authentication: JWT (JSON Web Tokens)
  • Payments: Stripe API
  • Environment Management: dotenv

πŸš€ Getting Started

1. Clone the repository

git clone https://github.com/budaala/pawww-store.git
cd pawww-store

2. Install dependencies

npm install

3. Configure environment variables

Create a .env file:

PORT  = 8000
MONGO_URL  = mongodb://localhost:27017/pawww-store
STRIPE_SECRET  = your_stripe_secret_key
TOKEN_SECRET  = your_jwt_secret
NODE_CODE_SENDING_EMAIL_ADDRESS  = your_email_address
NODE_CODE_SENDING_EMAIL_PASSWORD  = your_email_app_password
HMAC_VERIFICATION_CODE_SECRET  = your_hmac_secret

4. Run the backend server

npm run dev

The backend runs at: http://localhost:8000

πŸ“¬ API Overview

Authentication

  • POST /api/auth/signup β€” Register a new user
  • POST /api/auth/signin β€” Log in and receive a JWT
  • POST /api/auth/signout β€” Log out

Authorization

  • PATCH /api/auth/send-verification-code β€” Send account verification code via email
  • PATCH /api/auth/verify-verification-code β€” Verify sent code
  • PATCH /api/auth/change-password β€” Change password (logged in user)
  • PATCH /api/auth/send-forgot-password-code β€” Send email with code to change forgotten password
  • PATCH /api/auth/verify-forgot-password-code β€” Verify sent code to change forgotten password

Products

  • GET /api/products β€” List all products
  • GET /api/products/:id β€” Get product details

Orders

  • POST /api/orders β€” Place a new order
  • GET /api/orders β€” List of orders

πŸ’‘ Future Ideas

  • πŸ‘©πŸΌβ€πŸ’» User interface for account and order history
  • βœ‰οΈ Email notifications on order confirmation
  • πŸ“Š Admin dashboard for product/order management
  • ↕️ Sorting & filtering on home page

🐢 Author

Made with ❀️ for pets and coding.

About

MERN-based online store for pet accessories 🐢 Includes image upload, stock tracking & API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published