Blaze is a modern, secure, and scalable e-commerce marketplace built with the latest Next.js 15 features. It allows users to browse products, manage their seller profiles, and process secure payments via Stripe.
Check out the live application running on Vercel: 👉 https://blaze-web-three.vercel.app/
Feel free to create an account and test the payment flow using Stripe Test Mode.
Built with a focus on performance, type safety, and developer experience.
- Stripe Integration: Full checkout flow with Webhooks for secure order processing (handling success/cancel states server-side).
- Cart System: Persistent shopping cart management via Context API.
- Order History: Dashboard for buyers and sellers to track transactions.
- Robust Auth: Powered by Supabase (Email/Password).
- Protected Routes: Middleware to secure dashboard and checkout areas.
- RLS Policies: Row Level Security ensures users can only edit their own data.
- Responsive Design: Mobile-first approach using Tailwind CSS.
- Dark/Light Mode: Automatic theme switching with persistence.
- Dynamic Dashboard: Real-time updates for product management.
This project follows a Behavior-Driven Development (BDD) approach. Please refer to SCENARIOS.md for detailed acceptance criteria.
- User Onboarding: Sign up, Login, Profile Management.
- Product Ecosystem: Create, Read, Update, Delete (CRUD) products.
- Marketplace Logic: Browsing, Searching, and Filtering.
- Payments: Stripe Checkout & Webhook implementation.
Follow these steps to run Blaze on your machine:
-
Clone the repository:
git clone https://github.com/lautarocristiani/blaze-web.git cd blaze-web -
Install dependencies:
npm install
-
Environment Variables: Create a
.env.localfile in the root directory with your Supabase and Stripe keys:NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your_stripe_public_key STRIPE_SECRET_KEY=your_stripe_secret_key STRIPE_WEBHOOK_SECRET=your_stripe_webhook_secret NEXT_PUBLIC_APP_URL=http://localhost:3000
-
Stripe Webhook (Local): Forward webhooks to your local instance to test payments:
stripe listen --forward-to localhost:3000/api/webhooks/stripe
-
Run the App:
npm run dev
