We established a modern, responsive landing page with a unique "Blue & Yellow" theme.
- Theme: Clean Blue & Yellow palette with high contrast.
- Components: Hero, Features, Pricing, Testimonials, Footer.
- Tech: Next.js 15, Tailwind v4.
We built a secure authentication system integrated with Supabase.
- Sign Up:
/signup- Registers new users and automatically creates a profile. - Login:
/login- Secure login with email/password. - Forgot Password:
/forgot-password- Complete reset flow via email. - Protected Routes: Middleware protects
/admin/*and/shop/*from unauthorized access. - Database:
profilestable with Role-Based Access Control (RBAC).
We built the Admin tools to manage the catalog.
- Database:
categoriesandproductstables created. - Backend (Python): FastAPI server (
api/) handles secure image uploads. - Admin UI:
- List Products:
/admin/productsshows all inventory. - Add Product: Form with Image Upload (Python) and Data Saving (Supabase).
- List Products:
We built the public-facing shop experience.
- Shop Grid:
/shopdisplays all available products with Search and Filtering. - Product Details:
/shop/product/[id]with full descriptions and large images. - Shopping Cart: Persistent cart with a slide-out drawer UI (
CartDrawer).
We implemented the full order lifecycle.
- Database:
ordersandorder_itemstables with RLS. - Checkout:
/checkout- Secure form to collect shipping info and place orders. - Success Page:
/checkout/success- Order confirmation. - Admin Orders:
/admin/orders- Dashboard for admins to view orders and update status (Pending -> Shipped).
We implemented a secure, simulated payment flow.
- Transactions:
transactionstable tracks all payment attempts. - Backend Flow: FastAPI endpoints
/create-payment-intentand/webhooksimulate a Stripe-like flow. - Real-time Updates: Orders automatically flip to "Paid" via webhook.
We added final polish and administration tools.
- Admin Dashboard:
/adminnow features a Stats Dashboard with Revenue Charts (Recharts). - SEO: Product pages now generate dynamic metadata for better sharing.
- Deployment:
DEPLOYMENT.mdguide created for Vercel/Railway setup.
We moved the Next.js app from web/ to the Root Directory to simplify Vercel deployment.
- Lesson: Vercel works best when
package.jsonis at the root.
We resolved Vercel build failures caused by missing Supabase keys.
- Fix: Added fallback "placeholder" keys in
client.tsandmiddleware.tsto allow the build to pass static generation, even if variables are momentarily missing (though real keys are needed for runtime). - Lesson: Always verify "Production" environment variables in Vercel settings and Redeploy after adding them.
We fixed "Load failed" errors during Checkout.
- Cause: The FastAPI backend was only allowing
localhost:3000. - Fix: Updated
api/main.pyto allow"*"(all origins) so the Vercel-deployed frontend can communicate with the backend.
We resolved "Address already in use" errors.
- Fix: Created
fix_local_dev.shto kill rogue processes and clean up lock files. - Command:
./fix_local_dev.shis now the go-to script for fixing local dev issues.
| Feature | URL | Status |
|---|---|---|
| Landing Page | http://localhost:3000 | ✅ Live |
| Login | http://localhost:3000/login | ✅ Live |
| Shop | http://localhost:3000/shop | ✅ Live |
| Admin Dashboard | http://localhost:3000/admin | ✅ Live |
| Admin Products | http://localhost:3000/admin/products | ✅ Live |
| Backend API | http://localhost:8000 | ✅ Live |