Vasty Shop
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.
Live Demo | Quick Start | Features | Deployment | Discussions | Contributing
English | ζ₯ζ¬θͺ | δΈζ | νκ΅μ΄ | Bahasa Indonesia | Bahasa Melayu | EspaΓ±ol | FranΓ§ais | Deutsch | Italiano | PortuguΓͺs | Ψ§ΩΨΉΨ±Ψ¨ΩΨ© | TΓΌrkΓ§e | ΰ€Ήΰ€Ώΰ€¨ΰ₯ΰ€¦ΰ₯ | বাΰ¦ΰ¦²ΰ¦Ύ | Ψ§Ψ±Ψ―Ω | Π ΡΡΡΠΊΠΈΠΉ
Table of Contents
- What is Vasty Shop?
- Why Vasty Shop?
- Vendor Dashboard
- Quick Start
- Features
- Delivery Management
- Storefront Builder
- Tech Stack
- Project Structure
- Deployment
- Changelog
- Contributing
- Security
- License
What is Vasty Shop?
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.
Why Vasty Shop? (Comparison)
| Feature | Vasty Shop | Shopify | WooCommerce | Medusa | Saleor |
|---|---|---|---|---|---|
| Multi-Vendor | β Built-in marketplace | π° Marketplace add-on | β οΈ Plugin needed | β | β |
| Stripe Connect Payouts | β Auto vendor splits | β Shopify Payments | β οΈ Plugin | β | β οΈ Plugin |
| AI Recommendations | β Built-in | π° App required | β οΈ Plugin | β | β |
| Flash Sales | β Timer + inventory | β | β οΈ Plugin | β | β |
| POS System | β Built-in + barcode | β Shopify POS | β οΈ Plugin | β | β |
| Gift Cards | β | β | β οΈ Plugin | β | β |
| Delivery Zones | β Zone-based pricing | β | β οΈ Plugin | β | β οΈ |
| Loyalty/Cashback | β Points + cashback | β | β οΈ Plugin | β | β |
| Referral System | β | β | β οΈ Plugin | β | β |
| Surge Pricing | β | β | β | β | β |
| Rental System | β | β | β οΈ Plugin | β | β |
| CMS/Blog | β | β | β | β | β |
| 17 Languages | β | β | β | β οΈ | β οΈ |
| Self-Hosted | β Docker | β | β | β | β |
| Open Source | β AGPL-3.0 | β | β GPL | β MIT | β BSD |
| Pricing | π’ Free | π° $39-399/mo | π’ Free | π’ Free | π’ Free |
Vendor Dashboard
Every vendor gets a self-service control panel with real-time KPIs (revenue, orders, products, customers), an earnings breakdown β gross sales, delivery costs, net profit β and full order, product, and approval management.

Quick Start
Docker (Recommended)
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 seed
The 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 |
Default Admin Credentials
| Field | Value |
|---|---|
[email protected] |
|
| Password | admin123 |
Note: Change the admin password immediately in production.
Docker Services
| Service | Image | Port |
|---|---|---|
| PostgreSQL | postgres:16-alpine | 5433 |
| Redis | redis:7-alpine | 6379 |
| Backend | node:20-alpine (NestJS) | 4005, 3002 |
| Frontend | node:20-alpine (Vite) | 5186 |
Useful Commands
# 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 -d
Local Development (without Docker)
Prerequisites: 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
Features
E-Commerce Core
Everything needed to run an online storefront β catalog, cart, checkout, and post-purchase.
- 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
Payments & Finance
Multi-provider payments with automatic platform fees, vendor payouts, and financial tracking.
- 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
Marketing & Growth
Demand-generation tools built-in β no third-party plugins required.
- 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
Operations
In-store and fulfillment workflows for vendors selling beyond the web.
- 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
Platform
Foundational capabilities that power every other module.
- 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
Delivery Management
Platform-wide delivery and shipping ops in one place: configure shipping methods and zones, register and manage delivery partners, track active shipments, and watch KPIs like average delivery time and in-transit count at a glance.

Storefront Builder
Vendors design their own storefront with a drag-and-drop page builder β hero banners, featured products, categories, testimonials, and custom pages β with a live preview pane that renders every change instantly side-by-side.

Tech Stack
| 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, Anthropic, Gemini, Groq, Ollama |
| Search | PostgreSQL (pg-trgm), Meilisearch, Typesense |
Project Structure
vasty-shop/
βββ backend/ # NestJS API (69 modules, 80+ 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
Deployment
Vasty Shop is built for self-hosting. Run it on any Docker-capable host β a VPS, Render/Railway/Fly, or your own Kubernetes cluster.
Common deployment paths:
- Single-host Docker β the included
docker-compose.ymlis production-capable with a few env tweaks (switch build targets, use managed volumes, put a reverse proxy in front). - Managed Postgres + Redis β point
DATABASE_URL/REDIS_HOSTat a managed instance and run only the backend/frontend containers. - Provider setup β storage, email, payments, search, SMS, and AI are all pluggable via environment variables. Full provider catalog and setup guides:
backend/docs/providers/.
Pre-launch checklist:
- [ ] Change the default admin password (
[email protected]/admin123) - [ ] Set
JWT_SECRETto a strong random value - [ ] Set
NODE_ENV=productionon the backend - [ ] Configure at least one email provider for transactional mail
- [ ] Configure a storage provider (S3/R2/MinIO) for uploaded media
- [ ] Rotate
backend/.envsecrets out of the repo and version control
Changelog
See CHANGELOG.md for version history and notable changes.
Contributors
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!
Project Activity
Security
Please report vulnerabilities responsibly. See SECURITY.md.
License
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.
This means you can freely use, modify, and distribute this software, but any modifications must also be open-sourced under the same license.
Copyright 2025 Vasty Shop Contributors.