- 基于
go
+go-zero
+gRPC
, 以微服务
方式实现的B2B2C
通用电商平台. - 目标:
- 综合社区
最佳实践
, 力求产品级
项目, 而不是demo 玩具
. - 通用业务单元: 可以自由组合使用.
- 综合社区
- ZeroMall - wiki
- 项目文档
- client
- https://github.com/zeromicro/zeromall/wiki/client
- 基于 flutter 实现客户端(Web/iOS/Android/Windows/MacOS/Linux)
- flutter 2.5.0+
- GetX: 主要框架
- 基于 go + go-zero 实现
- app
- go 1.15+
- go-zero: 全功能的 go 微服务框架
- gRPC: RPC 领域事实上的标准
- etcd: 服务注册/服务发现
- mysql: 存储
- redis: 缓存
- kafka: 队列
- rabbitmq: 队列
- docker + docker-compose
这也是掌握本项目, 需要熟知的先修技能栈.
-
- 请务必仔细查看文档, 有详细说明
-
install:
# clone repo:
git clone git@github.com:zeromicro/zeromall.git
# enter project root:
cd zeromall/
# run mysql/redis/rabbitmq/etcd:
task local:init
# install:
make install
make init
# install go pkg:
task tidy
# run:
task run
- 创建新服务目录:
cd zeromall/
# 在 app/biz 下创建一个新的业务服务目录:
make app.gen.biz
# 在 app/basic 下创建一个新的基础服务目录:
make app.gen.basic
- 示例服务 app/basic/demo - wiki
- 服务启动说明, 辅助理解代码结构
- 项目目录结构详细说明 - wiki
- 非常详细的目录说明, 快速理解项目