Architecture Overview
A deep dive into the EverShop platform architecture. Learn about our modular monolith design, request lifecycle, module system, and the distinction between the source code and project folder structures.
Configuration Guide
A comprehensive guide to configuring an EverShop application. Learn about configuration layers, environment variables, and all the key settings for your store.
Command-Line Interface
Comprehensive guide to EverShop's command-line interface with detailed explanations of commands for building, developing, and managing your online store.
Store Settings
How EverShop stores merchant-editable settings in the setting table, the sync and async getter family, and how to migrate extension code from config keys to setting getters.
The Routing System
A deep dive into the EverShop routing system. Learn how routes are defined for API endpoints and pages, how the folder structure works, and how to generate URLs.
The Middleware System
Learn about the middleware system in EverShop. How middlewares work and how to create, add, and remove middleware functions from a route.
Registry and Processors
The Registry and Processor system is EverShop's primary mechanism for extending and transforming data across modules without modifying core code.
Pages
EverShop pages are located in the `pages` folder of each module. Learn how to create pages in your extension.
RESTful API Routes
Learn how to build and manage RESTful API endpoints in EverShop to provide robust backend functionality with proper authentication and validation.
GraphQL
This document explains how the EverShop GraphQL system works, how to create a GraphQL type, and how to extend existing GraphQL types.
Data Fetching
EverShop allows you to fetch data from the server using the GraphQL query language. This document explains how to fetch data from the server and pass it to React Component using GraphQL.
Events and Subscribers
EverShop provides a powerful event system that allows you to subscribe to the event and execute your code when the event is triggered.
Cron Jobs
EverShop provides a powerful cron job system that allows you to schedule tasks to run at specific intervals.
Product Recommendations
EverShop ships rule-based related products and data-driven frequently-bought-together recommendations, with global, category, and product-level configuration and two storefront widgets.
The Database
Learn how to connect to the database, build type-safe queries, and manage transactions in EverShop.
Static File Serving
Learn how EverShop serves static files like images from the public directory and how to properly reference them in your code.
File Storage
How EverShop stores uploaded media, the four-processor registry seam that swaps storage backends, the built-in S3, Azure Blob and Google Cloud Storage providers, and how to write your own.
Payment Method Development
Learn how to create a custom payment method for EverShop, from registration to order placement.
Email System
Learn how EverShop sends emails, how to register a custom email service provider, and how to customize email templates and data.
Order Status Management
Understand how EverShop manages order, payment, and shipment statuses, including state transitions and custom status definitions.
Cart Field System
Learn how EverShop's cart field system works and how to add custom fields to carts and cart items.
Zero-Total Checkout
How EverShop places orders whose grand total is zero, the reserved zero_checkout payment method, and what it breaks for existing payment extensions.
Shipping Provider Development
Build a custom shipping provider for EverShop — register it at bootstrap, implement getMethods, and return live rates to the checkout.
Carrier Development
Build a carrier integration for EverShop — register it at bootstrap, implement optional label, tracking and pickup capabilities, and drive shipment status from carrier events.
Multi-Shipment and Fulfillment
How EverShop models many shipments per order, how per-shipment phases roll up into the order-level shipment status, and the service APIs extension authors must use.
Multi-Language Stores
How EverShop enables multiple storefront languages, resolves a locale per request, prefixes URLs, and exposes the active locale to themes and resolvers.
Fast Refresh
Fast Refresh is a Evershop feature that gives you instantaneous update on edits made to your code. It is enabled by default in the development mode.
Translation
Author translations for EverShop as CSV dictionaries loaded at runtime, and look them up with translate() on the server and _() on the client.
Sitemap & robots.txt
EverShop automatically generates and serves a search-engine sitemap (sitemap.xml) and a robots.txt, including hreflang alternates for multi-language stores.
URL Redirects
How EverShop keeps old entity URLs alive after a url_key or category change — the url_redirect table, where redirects are captured, chain collapse, and the bare-slug fallback.
Metafields
Metafields let you attach typed, validated custom data to EverShop entities — products, categories, customers, orders, and more — store it in a JSONB column, and read it back through GraphQL.
Blog
How EverShop's core blog module works — storefront routes and friendly URLs, the database schema, the GraphQL surface, comment moderation, reactions, reading time, the featured blogs widget, blog URNs, metafields, and sitemap collectors.
Page Builder
How the EverShop page builder works under the hood — the draft changeset model, the preview overlay, publish and scheduled rollouts, and how to make your own storefront route page-builder-editable.
Large-Catalog Performance
What breaks when an EverShop catalog reaches hundreds of thousands of products, the query patterns that cause it, and the fixes shipped in 2.2.1.
Checkout Settings
The guest-checkout toggle, where it is enforced, the shipping-note option, and how to add your own pre-order validation rules.
Package Management
The package (parcel sizing) entity added in EverShop 2.2.1 — schema, dimension snapshots, tare weight, the packing strategy, and how carriers receive parcels.
Error Handling and Degradation
How EverShop 2.2.1 fails — SSR render errors, partial GraphQL results, the root error boundary — and what that means for component and resolver authors.