Skip to content

Open-source, AI-first headless e-commerce framework. TypeScript-first, GraphQL-native, with 32+ plugins and a modern React admin panel. Built on NestJS.

License

Notifications You must be signed in to change notification settings

aexol-studio/deenruv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6,392 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deenruv

The headless commerce framework that gets out of your way.

TypeScript • NestJS • GraphQL • React Admin • 32+ Plugins

License: MIT Documentation Demo


Most commerce platforms force you into their way of doing things. Deenruv doesn't. It gives you a production-ready e-commerce backend with a GraphQL API, a modern React admin panel, and a plugin system that lets you extend everything — without fighting the framework.

Built on NestJS and TypeORM, battle-tested in production, and fully open-source.

Why Deenruv?

  • GraphQL-first — Shop API + Admin API, fully typed, ready for any frontend
  • Plugin architecture — 32+ official plugins, or build your own in minutes
  • Modern admin panel — React, Tailwind CSS, extensible via plugins with a full UI SDK
  • Multi-channel & multi-language — sell everywhere, in every language
  • Production-ready — role-based access control, job queues, event-driven emails, asset management
  • TypeScript end-to-end — from database entities to admin UI components

Get Running in 5 Minutes

# Prerequisites: Node.js >= 18, pnpm, Docker

pnpm install              # Install dependencies
pnpm server-docker-up     # Start Postgres, Redis, MinIO
pnpm build                # Build all packages
pnpm server-populate      # Seed with sample data
pnpm start                # Launch server + admin panel

Then open:

Admin Panel localhost:6101/admin-ui
Admin GraphQL API localhost:6100/admin-api
Shop GraphQL API localhost:6100/shop-api
Login superadmin / superadmin

Plugin Ecosystem

Every feature is a plugin. Use the official ones, or create your own:

Plugin What it does
payments Stripe, Mollie, Przelewy24 + BLIK
email Event-driven transactional emails
asset-server File uploads, image transforms, S3/MinIO
elasticsearch Full-text product search
job-queue Background jobs with BullMQ/PubSub
reviews Product reviews and ratings
seo SEO metadata management
inpost InPost shipping integration
cronjobs Scheduled tasks
harden Security hardening for production
sentry Error tracking
merchant Multi-merchant product feeds (Google/Facebook)
dashboard-widgets Custom admin dashboard widgets
newsletter Newsletter subscriptions
upsell Cross-sell and upsell suggestions
...and 17 more

Build Your Own Plugin

Each plugin can extend both the server and the admin UI:

plugins/my-plugin/
├── src/
│   ├── plugin-server/       # NestJS services, controllers, GraphQL extensions
│   └── plugin-ui/           # React components, i18n, admin pages
├── e2e/                     # End-to-end tests
└── package.json

See the Plugin Development Guide and the UI SDK docs for details.

Project Structure

deenruv/
├── apps/
│   ├── server/              # NestJS GraphQL API server
│   ├── panel/               # React/Vite admin UI (Tailwind, Zustand)
│   └── docs/                # Docs site (Next.js + Fumadocs)
├── packages/
│   ├── core/                # Core framework (entities, services, modules)
│   ├── common/              # Shared types & generated GraphQL types
│   ├── react-ui-devkit/     # UI SDK for building admin plugin UIs
│   ├── testing/             # E2E test utilities
│   └── ...                  # admin-dashboard, admin-types, cli, etc.
├── plugins/                 # 32+ official plugins
└── e2e-common/              # Shared E2E test config and fixtures

Development Commands

Command Description
pnpm start Start server + admin panel
pnpm start:server Start only the API server
pnpm start:admin-ui Start only the React admin panel
pnpm watch Watch mode for UI packages
pnpm build Build all packages (sequential, respects deps)
pnpm test Run all tests (Vitest)
pnpm lint Lint everything
pnpm codegen Generate GraphQL/TypeScript types
pnpm server-docker-up Start Postgres, Redis, MinIO
pnpm server-docker-down Stop Docker services

Testing

Unit tests are colocated with source files (*.spec.ts). Run them with pnpm test.

E2E tests live in e2e/ directories (*.e2e-spec.ts) and use @deenruv/testing. Set E2E_DEBUG=true for extended timeouts when debugging.

Contributing

We follow Conventional Commits:

feat: add new payment provider
fix: resolve order calculation bug
docs: update plugin documentation

See our PR template for guidelines. PRs go to the develop branch.

Documentation

Attribution

Deenruv is derived from Vendure, created by Michael Bromley and licensed under MIT. Forked in 2025, it has since undergone significant development. We gratefully acknowledge the foundational work of the Vendure project and its contributors.

License

MIT — see LICENSE.

About

Open-source, AI-first headless e-commerce framework. TypeScript-first, GraphQL-native, with 32+ plugins and a modern React admin panel. Built on NestJS.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 6