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.
- ποΈ 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.
- Frontend: React, Material UI (MUI)
- Backend: Node.js, Express.js
- Database: MongoDB + Mongoose
- Authentication: JWT (JSON Web Tokens)
- Payments: Stripe API
- Environment Management: dotenv
git clone https://github.com/budaala/pawww-store.git
cd pawww-store
npm install
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
npm run dev
The backend runs at: http://localhost:8000
POST /api/auth/signup
β Register a new userPOST /api/auth/signin
β Log in and receive a JWTPOST /api/auth/signout
β Log out
PATCH /api/auth/send-verification-code
β Send account verification code via emailPATCH /api/auth/verify-verification-code
β Verify sent codePATCH /api/auth/change-password
β Change password (logged in user)PATCH /api/auth/send-forgot-password-code
β Send email with code to change forgotten passwordPATCH /api/auth/verify-forgot-password-code
β Verify sent code to change forgotten password
GET /api/products
β List all productsGET /api/products/:id
β Get product details
POST /api/orders
β Place a new orderGET /api/orders
β List of orders
- π©πΌβπ» User interface for account and order history
- βοΈ Email notifications on order confirmation
- π Admin dashboard for product/order management
βοΈ Sorting & filtering on home page
Made with β€οΈ for pets and coding.