Open-source multi-vendor e-commerce marketplace
Enterprise-grade marketplace with AI recommendations, Stripe Connect payouts, flash sales, POS, delivery management, and 17-language support.
Website | Quick Start | Features | Discussions | Contributing
English | 日本語 | 中文 | 한국어 | Español | Français | Deutsch | Português | العربية | हिन्दी | Русский
Vasty Shop is an open-source multi-vendor e-commerce marketplace platform. Build your own marketplace like Amazon, Shopify, or Etsy with AI-powered recommendations, Stripe Connect vendor payouts, flash sales, POS system, and delivery management — all self-hostable.
| Feature | Vasty Shop | Shopify | WooCommerce | Medusa | Saleor |
|---|---|---|---|---|---|
| Multi-Vendor | ✅ Built-in marketplace | 💰 Marketplace add-on | ❌ | ❌ | |
| Stripe Connect Payouts | ✅ Auto vendor splits | ✅ Shopify Payments | ❌ | ||
| AI Recommendations | ✅ Built-in | 💰 App required | ❌ | ❌ | |
| Flash Sales | ✅ Timer + inventory | ✅ | ❌ | ❌ | |
| POS System | ✅ Built-in + barcode | ✅ Shopify POS | ❌ | ❌ | |
| Gift Cards | ✅ | ✅ | ❌ | ✅ | |
| Delivery Zones | ✅ Zone-based pricing | ✅ | ❌ | ||
| Loyalty/Cashback | ✅ Points + cashback | ❌ | ❌ | ❌ | |
| Referral System | ✅ | ❌ | ❌ | ❌ | |
| Surge Pricing | ✅ | ❌ | ❌ | ❌ | ❌ |
| Rental System | ✅ | ❌ | ❌ | ❌ | |
| CMS/Blog | ✅ | ✅ | ✅ | ❌ | ❌ |
| 17 Languages | ✅ | ✅ | ✅ | ||
| Self-Hosted | ✅ Docker | ❌ | ✅ | ✅ | ✅ |
| Open Source | ✅ MIT | ❌ | ✅ GPL | ✅ MIT | ✅ BSD |
| Pricing | 🟢 Free | 💰 $39-399/mo | 🟢 Free | 🟢 Free | 🟢 Free |
Prerequisites: Docker and Docker Compose
git clone https://github.com/vasty-shop/vasty-shop.git
cd vasty-shop
# 1. Create env files from examples
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env
# 2. (Optional) Run the setup wizard to pick providers interactively
docker compose --profile setup run --rm setup
# 3. Start all services (PostgreSQL, Redis, Backend, Frontend)
docker compose up --build
# 4. Run database migrations (in a new terminal)
docker compose exec backend npm run migrate
# 5. (Optional) Seed the database
docker compose exec backend npm run seedThe app will be available at:
| Service | URL |
|---|---|
| Frontend | http://localhost:5186 |
| Backend API | http://localhost:4005/api/v1 |
| API Docs (Swagger) | http://localhost:4005/api/v1/docs |
| Health (Providers) | http://localhost:4005/api/v1/health/providers |
| WebSocket | http://localhost:3002 |
| Field | Value |
|---|---|
[email protected] |
|
| Password | admin123 |
Note: Change the admin password immediately in production.
| Service | Image | Port |
|---|---|---|
| PostgreSQL | postgres:16-alpine | 5432 |
| Redis | redis:7-alpine | 6379 |
| Backend | node:20-alpine (NestJS) | 4005, 3002 |
| Frontend | node:20-alpine (Vite) | 5186 |
# Stop all services
docker compose down
# Stop and remove all data (database, redis)
docker compose down -v
# View backend logs
docker compose logs -f backend
# Run migrations
docker compose exec backend npm run migrate
# Seed database
docker compose exec backend npm run seed
# Access PostgreSQL shell
docker compose exec postgres psql -U postgres -d vasty_shop_dev
# Run setup wizard (pick providers interactively)
docker compose --profile setup run --rm setup
# Start with optional services (e.g. Meilisearch, MinIO)
docker compose --profile meilisearch --profile minio up -dPrerequisites: Node.js 20+, PostgreSQL 16+, Redis 7+
git clone https://github.com/vasty-shop/vasty-shop.git
cd vasty-shop
# Backend
cd backend
cp .env.example .env
# Edit .env: set DATABASE_HOST=localhost and REDIS_HOST=localhost
npm install
npm run migrate
npm run start:dev
# Frontend (new terminal)
cd frontend
cp .env.example .env
npm install --legacy-peer-deps
npm run dev- Products -- Variants, attributes, inventory, digital products, bulk import
- Orders -- Multi-vendor order splitting, status tracking, refunds
- Cart -- Persistent cart, guest checkout, multi-currency
- Categories -- Nested categories with filters and search
- Reviews -- Ratings, photos, verified purchase badges
- Stripe Connect -- Auto vendor payouts with platform fee
- PayPal -- Alternative payment gateway
- Wallet -- Customer wallet with top-up and spend
- Escrow -- Secure payment holding until delivery
- Disbursement -- Bulk vendor payouts, commission tracking
- Expenses -- Business expense tracking for vendors
- Flash Sales -- Time-limited deals with countdown
- Campaigns -- Promotional campaigns with scheduling
- Coupons -- Percentage, fixed, free shipping
- Gift Cards -- Digital gift cards with balance
- Loyalty -- Points system with cashback
- Referral -- Customer referral program
- Surge Pricing -- Dynamic pricing based on demand
- POS -- Point-of-sale with barcode scanning
- Delivery -- Zone-based pricing, tracking, delivery partners
- Parcel -- Parcel delivery management
- Tax -- Tax calculation by region
- Export -- CSV/Excel data export
- 17 Languages -- AR, BN, DE, EN, ES, FR, HI, ID, IT, JA, KO, MS, PT, RU, TR, UR, ZH
- AI -- Product recommendations, smart search
- Blog/CMS -- Content management
- Chat -- Real-time customer-vendor messaging
- Notifications -- Email, WebSocket, push
- Admin Dashboard -- Full platform analytics
| Layer | Technology |
|---|---|
| Backend | NestJS, TypeScript, PostgreSQL (raw SQL), Redis, Socket.io |
| Frontend | React, Vite, TypeScript, Tailwind CSS, Radix UI, i18next |
| Storage | Pluggable: local-fs, S3, Cloudflare R2, MinIO, B2, GCS, Azure |
| Payments | Stripe, Stripe Connect, PayPal |
| AI | OpenAI (recommendations, search) |
| Search | Qdrant (vector), PostgreSQL (full-text) |
vasty-shop/
├── backend/ # NestJS API (53 modules, 67 tables)
│ ├── src/modules/ # products, orders, cart, payments, delivery,
│ │ # campaigns, coupons, flash-sales, gift-cards,
│ │ # loyalty, referral, pos, ai, blog, chat, ...
│ └── migrations/ # PostgreSQL migrations
├── frontend/ # React + Vite + Tailwind (17 languages)
├── shared/ # Shared types and utilities
└── .github/workflows/ # CI/CD
Thank you to all the amazing people who have contributed to Vasty Shop! 🎉
Want to see your face here? Check out our Contributing Guide and start contributing today!
Please report vulnerabilities responsibly. See SECURITY.md.
This project is licensed under the MIT License.
Copyright 2025 Vasty Shop Contributors.