← Back to all insights

Building an E-commerce MVP in 30 Days: A Developer's Guide

A step-by-step, week-by-week guide to building a functional e-commerce MVP in 30 days — from database schema to payment integration to deployment. Based on the actual development timeline of the Kimaya e-commerce platform.

Most e-commerce "MVP" guides recommend: "Just use Shopify." And for many businesses, that's correct advice. But if you're a developer who wants full control over your platform, needs custom functionality that templates can't provide, or is building an e-commerce model with non-standard features (like no-return pricing, multi-vendor marketplaces, or subscription boxes), building a custom MVP is both feasible and valuable.

Here's the 30-day plan I followed to build Kimaya's e-commerce platform — a functional online store with product management, cart functionality, checkout, payment processing, and order management. Not a production-ready platform — an MVP that validates the product-market fit hypothesis while demonstrating the technical capability to iterate.

Week 1: Foundation (Days 1-7)

Days 1-2: Database schema. Design the core data model: users (name, email, phone, hashed_password, created_at), products (name, slug, description, price, compare_price, images, category_id, is_active), categories (name, slug, parent_id), orders (user_id, status, total, payment_id, shipping_address), order_items (order_id, product_id, quantity, price_at_purchase), and carts (user_id, product_id, quantity). Run database migrations to create the schema. Seed test data for development.

Days 3-5: API layer. Build RESTful API endpoints for: product listing (GET /api/v1/products with pagination, filtering by category, search), product detail (GET /api/v1/products/:slug), category listing (GET /api/v1/categories), user authentication (POST /register, POST /login, POST /refresh-token), and cart management (GET /cart, POST /cart, PUT /cart/:id, DELETE /cart/:id). Use Go Fiber + GORM for the backend — the performance and simplicity advantages pay immediate dividends.

Days 6-7: Admin panel foundation. Scaffold a React admin panel with Vite. Implement product CRUD: list products (with search, filter, pagination), create product (form with image upload), edit product, and soft-delete product. Connect to the API using Axios or Fetch. Style with a minimal CSS framework or a component library like Ant Design for speed.

Week 2: Customer Frontend (Days 8-14)

Days 8-10: Next.js storefront. Build the customer-facing frontend: home page (featured products, category navigation), product listing page (grid layout, filters, pagination), product detail page (images, description, price, add to cart button), and category page (products filtered by category). Use Next.js App Router for SEO-friendly server-side rendering — product pages need to be indexable by search engines.

Days 11-12: Cart and checkout UI. Cart page (list items, update quantities, remove items, display totals), checkout page (shipping address form, order summary, payment button), and order confirmation page. The checkout flow should be as short as possible — every additional step reduces conversion rates by 10-15%.

Days 13-14: User authentication UI. Login/register pages, protected routes (checkout requires authentication), and user profile page (order history, address management). Keep authentication simple for the MVP — email + password is sufficient. Add social login (Google, Facebook) in a later iteration.

Week 3: Payment & Order Management (Days 15-21)

Days 15-17: Payment integration. Integrate Cashfree or Razorpay for payment processing. The flow: create an order in your database (status: pending), create a payment session with the payment provider, redirect the customer to the payment page, handle the payment callback/webhook (status: paid), and update order status. Webhook handling must be idempotent — the same webhook may be delivered multiple times.

Days 18-19: Order management in admin. Admin panel additions: order listing (with status filters), order detail view (items, customer info, payment status, shipping status), and order status updates (paid → processing → shipped → delivered). Add email notifications for order confirmation and shipping updates.

Days 20-21: Image handling. Implement S3-based image storage: upload product images to S3 via the admin panel, generate responsive image variants (thumbnail, medium, large) using Sharp or ImageMagick, and serve images through a CDN for performance.

Week 4: Polish & Deploy (Days 22-30)

Days 22-24: SEO and performance. Add meta tags, Open Graph tags, and structured data (JSON-LD) for product pages. Optimize images (WebP format, lazy loading). Implement sitemap.xml generation. Add Google Analytics and Search Console integration.

Days 25-27: Testing and bug fixes. Test the complete purchase flow: browse → add to cart → checkout → pay → order confirmation. Test edge cases: empty cart checkout, expired sessions, payment failures, out-of-stock products. Fix bugs surfaced during testing.

Days 28-30: Deployment. Deploy the Go API to AWS EC2 or ECS. Deploy the Next.js frontend to Vercel. Configure DNS, SSL certificates, and environment variables. Run smoke tests on the production environment. Launch.

Thirty days, one functional e-commerce MVP. Not perfect. Not feature-complete. But sufficient to take real orders, process real payments, and gather the real customer feedback that tells you whether to invest the next 6 months in building a production-grade platform.

SaaSStartupBackend Development