MCPSERV.CLUB
EverShop

EverShop

Self-Hosted

Modular, TypeScript-first eCommerce platform

Active(100)
8.2kstars
0views
Updated 1 day ago

Overview

Discover what makes EverShop powerful

EverShop is a **TypeScript‑first** e‑commerce platform that unites a modern GraphQL API with a React‑based storefront and admin interface. From a developer’s standpoint it is a full stack solution that can be run as a monolith or split into micro‑services, making it suitable for both rapid prototyping and production deployments. The core of the application is built on Node.js with Express for HTTP routing, while GraphQL serves as the single contract between client and server. The React front‑end consumes this schema through Apollo Client, enabling efficient data fetching, caching, and optimistic UI updates. The entire codebase is written in TypeScript, providing static type safety across the stack and reducing runtime bugs.

Backend

Data Layer

Frontend

Containerization

Overview

EverShop is a TypeScript‑first e‑commerce platform that unites a modern GraphQL API with a React‑based storefront and admin interface. From a developer’s standpoint it is a full stack solution that can be run as a monolith or split into micro‑services, making it suitable for both rapid prototyping and production deployments. The core of the application is built on Node.js with Express for HTTP routing, while GraphQL serves as the single contract between client and server. The React front‑end consumes this schema through Apollo Client, enabling efficient data fetching, caching, and optimistic UI updates. The entire codebase is written in TypeScript, providing static type safety across the stack and reducing runtime bugs.

Architecture

  • Backend – Node.js (v18+), Express, Apollo Server. Business logic is modularized into modules that expose GraphQL resolvers and data‑access layers. The core module handles products, orders, customers, payments, and shipping, while additional modules can be added as extensions.
  • Data Layer – PostgreSQL is the default relational store, accessed via Prisma ORM. The schema is code‑first; migrations are managed by Prisma’s migration engine, allowing developers to evolve the database schema alongside application code.
  • Frontend – React 18 with Next.js (or Create‑React‑App) as the rendering engine. The storefront uses server‑side rendering for SEO and fast first paint, while the admin panel is a single‑page application built with React Router and Redux Toolkit for state management.
  • Containerization – Docker is the primary deployment method. A single docker-compose.yml orchestrates the API, database, and optional Redis cache. The images are built from the source tree, making CI/CD pipelines straightforward.

Core Capabilities

  • GraphQL API – Exposes CRUD operations for products, collections, customers, orders, and payments. Supports pagination, filtering, and sorting out of the box.
  • Extension System – Modules can register new GraphQL types, resolvers, and REST endpoints. Hooks allow extensions to tap into lifecycle events (e.g., afterOrderCreate) without modifying core code.
  • Webhooks & Events – Built‑in event bus (Node EventEmitter) and optional integration with external services via HTTP webhooks. Developers can expose custom endpoints for third‑party integrations such as payment gateways or shipping providers.
  • Theme Engine – The storefront is theme‑able. Themes are React component libraries that can override default pages, layouts, and widgets. CSS is managed via Tailwind CSS for rapid styling.
  • Admin UI – A React admin panel that consumes the same GraphQL schema, providing CRUD interfaces for catalog management, order fulfillment, and analytics. The UI is highly configurable; developers can hide or add panels through the extension API.

Deployment & Infrastructure

EverShop is intentionally lightweight yet production‑ready. The Docker image bundles all dependencies, enabling zero‑config deployments on any platform that supports Docker or Kubernetes. For scaling, the API can be replicated behind a load balancer; PostgreSQL is stateless and can use read replicas. Caching layers (Redis) are optional but recommended for high‑traffic stores to cache product catalogs and session data. The application is agnostic to cloud providers; it can run on bare metal, VMs, or managed services such as DigitalOcean App Platform, Render, or AWS ECS.

Integration & Extensibility

  • Plugin SDK – Developers can create modules using the provided CLI scaffold. Modules expose a module.json that declares GraphQL schema, resolvers, and hooks.
  • REST Endpoints – While GraphQL is primary, the API also exposes a set of RESTful routes for legacy integrations or services that prefer HTTP.
  • SDKs – Client SDKs (TypeScript, JavaScript) are auto‑generated from the GraphQL schema, simplifying integration with external applications.
  • Webhooks – The system can trigger webhooks on order creation, payment updates, and inventory changes. Custom webhook endpoints can be registered via the admin UI.

Developer Experience

EverShop’s documentation is organized around core concepts: installation, extension development, theme customization, and API usage. The docs are hosted on evershop.io with live code examples and a sandbox environment. Community support is active on Discord, GitHub Discussions, and Twitter, providing quick feedback loops for contributors. The project follows semantic versioning and has a robust CI pipeline that runs unit, integration, and end‑to‑end tests on every pull request. Licensing under GPL-3.0 encourages open collaboration while protecting the core codebase.

Use Cases

  1. Custom B2C Storefronts – Developers can spin up a ready‑to‑sell store in minutes, then extend it with custom payment gateways or loyalty programs via modules.
  2. Enterprise B2B Platforms – The modular architecture allows adding role‑based access control, bulk pricing, and custom order workflows without touching core logic.
  3. Headless Commerce – Expose the GraphQL API to any front‑end framework (Vue, Angular, Svelte) while keeping a robust back‑office for admins.
  4. Marketplace – Build multi‑vendor extensions that handle vendor dashboards, commission calculations, and separate product catalogs.

Advantages

  • Full TypeScript Stack – Eliminates type mismatches between front‑end and back‑end, speeding up development cycles.
  • GraphQL First – Reduces over‑fetching and gives developers precise control over data shapes.
  • Modular Design – Extensions can be added or removed without code churn, making maintenance straightforward.

Open SourceReady to get started?

Join the community and start self-hosting EverShop today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
GPL-3.0
Stars
8.2k
Technical Specs
Pricing
Open Source
Docker
Official
Supported OS
LinuxDocker
Author
evershopcommerce
evershopcommerce
Last Updated
1 day ago