A full-stack, production-grade Amazon e-commerce clone. Built with a modern React frontend (Vite, Material UI, Framer Motion), robust Node.js/Express backend, Prisma ORM, Supabase/PostgreSQL, Stripe payments, and Firebase authentication. Designed for scalability, security, and a seamless user experienceβshowcasing best practices for enterprise-level web applications.
- Frontend: View Live Site
- Backend: GitHub Backend API
Some UI pages inspiration from Dribbble
- React (Vite, JSX, CSS Modules)
- Material UI (MUI)
- Framer Motion (animations)
- React Toastify, SweetAlert2 (notifications)
- React Context API (state management)
- Node.js & Express (API server)
- Prisma ORM (type-safe DB access)
- PostgreSQL (production DB)
- Supabase (managed Postgres hosting)
- SQLite (local dev DB)
- Firebase Admin SDK (authentication)
- Stripe (payments)
- Frontend: Deployed on Vercel for instant, global static hosting and serverless functions.
- Backend: Deployed on Render for scalable Node.js API hosting.
- Database: Supabase (managed Postgres, connection pooling, secure cloud storage).
- Authentication & Functions: Firebase (Auth, Admin SDK, and optional serverless functions).
- Excellent Lighthouse SEO score (100) and strong accessibility (96)
- Performance and Best Practices improved with preconnect, preload, and optimized meta tags
- Open Graph and Twitter meta tags for rich social sharing
- robots.txt and meta description for search engine indexing
- Production security headers (CSP, HSTS, XFO, COOP) via
vercel.json
- Source maps enabled for production debugging
- Critical images preloaded and Google Fonts optimized with
display=swap
- Performance-optimized React code using
useMemo
anduseCallback
in key pages
- π Secure Authentication: Firebase Auth (email/password, Google sign-in)
- ποΈ Product Browsing: Browse, search, and filter products by category
- π Shopping Cart: Add, remove, and update items in real time
- π³ Checkout & Payment: Stripe integration for secure payments
- π Order Tracking: View order history and delivery status (orders saved to backend DB)
- π Promo Codes & Discounts: Apply discount codes at checkout
- π¦ Shipping Details: Full address, contact, and region support
- π§Ύ Order History: Modern, responsive grid with clear labels and truncated titles
- π§βπΌ User Account Page: View and manage personal info, sign out, see order history
- π‘οΈ Backend Auth Middleware: All order/payment endpoints protected by Firebase token verification
- ποΈ Persistent State: Cart and user info saved in localStorage
- π± Responsive Design: Mobile-first, works on all devices
- β‘ Fast & Modern UI: Built with Vite, React, modular CSS, and Framer Motion
- π§βπ» Admin-Ready: Backend and DB structure ready for admin features, user management, and analytics
git clone https://github.com/Tesfamichael12/Amazon-Clone.git
cd Amazon-Clone
npm install
cd amazon-api
npm install
VITE_REACT_APP_BACKEND_URL=your_backend_url
VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
VITE_FIREBASE_PROJECT_ID=your_firebase_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
VITE_FIREBASE_APP_ID=your_firebase_app_id
STRIPE_SECRET_KEY=sk_test_...
CLIENT_URL=http://localhost:5173
PORT=5000
DATABASE_URL=your_database_url # SQLite for dev, Postgres/Supabase for prod
See
amazon-api/README.md
for full backend setup, including Prisma migrations and Supabase/Postgres deployment.
- Frontend:
npm run dev
- Backend:
cd amazon-api npm start
- Built by Tesfamichael Tafere
- Inspired by Amazon.com UI/UX
- Some UI inspiration from Dribbble
This project is for educational and demonstration purposes only. It is not affiliated with, endorsed by, or connected to Amazon in any way.