|
EverShop
做电商项目,最难的往往不是“能不能做”,而是“怎么改”。复杂的领域模型、难以扩展的支付流程、前后端协同的反复沟通,总让人头大。EverShop 提供了一条更清晰的路径:TypeScript-first,GraphQL 聚合能力,扩展像搭积木。
项目概览
- 核心栈:TypeScript、GraphQL、React、Node.js、PostgreSQL
- 定位:可插拔的电商平台,适合私有化与二次开发
- 开箱:Docker 一键启动,内置主题与管理端,支持 i18n
为什么值得看
- 模块清晰:packages 承载内核(server、graphql、build),extensions 承载业务(目录、购物车、结账、订单、支付、促销)
- GraphQL-first:各业务模块自带 schema/resolver,统一汇总,前后端类型一致更好协作
- 扩展机制:定价/支付/物流可用策略模式替换;Hook/事件可拦截下单与库存流程;Repository 抽象数据访问
- 工程完备:ESLint、Jest、Husky、Prettier、Dockerfile、docker-compose 均已配置
能解决什么
- 中小团队快速上线:主题可替换,流程可裁剪
- 企业级二开:按需新增支付、促销、B2B 能力,保持内核稳定
- 学习与实践:适合拆解 GraphQL 组合、领域模块化与事件驱动
典型二开思路
- 新增支付:新建 extension,注册 PaymentStrategy 与回调 mutation,通过事件更新订单状态
- 定制定价/促销:实现 Condition/Action,接入定价 Hook
- 多语言/多币种:基于 Store 配置与 Context 下发,前端按 Locale/Currency 渲染
如何快速试用
- 使用 Docker
- curl 拉取官方 docker-compose.yml
- docker-compose up -d
- Demo(源自官方 README):
- Email:demo@evershop.io
- Password:123456
适合的人
- 需要自托管与深度改造的团队
- 想以 TS+GraphQL 打造统一协作面的全栈工程师
- 期望通过扩展机制沉淀电商资产的技术团队
关注与后续
我们持续分享前端与全栈方向的高质量开源项目与实战经验。关注《云栈大前端》,获取更多拆解与落地案例。
项目与文档
标签:#EverShop #Github #TypeScript #GraphQL #React #电商开发
|