zeromall icon indicating copy to clipboard operation
zeromall copied to clipboard

The mall/eshop system based on go-zero.

zero mall

  • [x] 基于 go + go-zero + gRPC, 以微服务方式实现的B2B2C通用电商平台.
  • [x] 目标:
    • [x] 综合社区最佳实践, 力求产品级项目, 而不是 demo 玩具.
    • [x] 通用业务单元: 可以自由组合使用.

Wiki:

Client:

  • client
  • https://github.com/zeromicro/zeromall/wiki/client
  • 基于 flutter 实现客户端(Web/iOS/Android/Windows/MacOS/Linux)

Requirements:

  • [x] flutter 2.5.0+
  • [x] GetX: 主要框架

Server:

  • 基于 go + go-zero 实现
  • app

Requirements:

  • [x] go 1.15+
  • [x] go-zero: 全功能的 go 微服务框架
  • [x] gRPC: RPC 领域事实上的标准
  • [x] etcd: 服务注册/服务发现
  • [x] mysql: 存储
  • [x] redis: 缓存
  • [x] kafka: 队列
  • [x] rabbitmq: 队列
  • [x] docker + docker-compose

这也是掌握本项目, 需要熟知的先修技能栈.

Development Environment:


# clone repo:
git clone [email protected]: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

示例服务:

Structure:

RoadMap:

  • https://github.com/zeromicro/zeromall/issues/3
  • https://github.com/zeromicro/zeromall/projects/1