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-storenpm installCreate 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_secretnpm run devThe 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.