Skip to content

Scaffold self-hosted modern online store MVP (Medusa + Next.js + Docker Compose) #55

@merryeguroba5

Description

@merryeguroba5

This issue is for scaffolding a modern, self-hosted online store as an MVP (Minimal Viable Product) using a robust, extensible stack. The solution will use Medusa (Node.js) for the commerce backend and Next.js for the storefront, containerized with Docker Compose for ease of deployment and maintenance. The store will support both Stripe and PayPal payments, allow for customer accounts (with the option for guest checkout), and be ready for VPS or home server deployment. No analytics or email notification integrations will be included at this stage.

Key deliverables:

  • Docker Compose setup for:
    • Medusa backend
    • Next.js storefront
    • PostgreSQL database
    • Redis (for caching/background jobs)
    • Traefik (reverse proxy + automatic HTTPS)
    • MinIO (S3-compatible object storage for product images)
  • Basic Medusa configuration for products, categories, inventory, Stripe & PayPal payments, and user accounts
  • Seed data: a few example products and categories
  • README with detailed setup, deployment, and backup instructions
  • Notes on scaling, monitoring, and security best practices

MVP Features:

  • Responsive storefront (Next.js) browsing products, categories, and search
  • Product detail pages
  • Cart, checkout flow, and order confirmation
  • User registration/login (with option for guest checkout)
  • Admin access for managing catalog and viewing orders
  • Payments via Stripe and PayPal
  • Image uploads for products (stored in MinIO)
  • Inventory tracking

Next Steps:

  1. Scaffold Docker Compose environment
  2. Initialize Medusa backend and configure plugins (Stripe, PayPal, MinIO)
  3. Scaffold Next.js storefront and connect to Medusa backend
  4. Seed database with sample products and categories
  5. Write setup and deployment documentation
  6. Review security, scaling, and backup strategies

This issue will track all work required to deliver the above. Sub-issues will be created for each major component.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions