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.ymlorchestrates 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.jsonthat 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
- 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.
- Enterprise B2B Platforms – The modular architecture allows adding role‑based access control, bulk pricing, and custom order workflows without touching core logic.
- Headless Commerce – Expose the GraphQL API to any front‑end framework (Vue, Angular, Svelte) while keeping a robust back‑office for admins.
- 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
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Immich
Self‑hosted photo and video manager
Fusio
Self-hosted API Management for Builders
Gramps Web
Collaborative genealogy web platform

Framadate
Collaborative date & decision polls
Mastodon
Decentralized, real‑time social networking
Janus WebRTC Server
Open‑source, pluggable WebRTC gateway for browsers and apps