8treenet / freedom

Freedom是一个基于六边形架构的框架,可以支撑充血的领域模型范式。
Apache License 2.0
2.38k stars 227 forks source link
ddd framework freedom go http2-server microservice server

Freedom DDD Framework

License Go Report CardGoDoc GitHub release

Freedom 是一个基于六边形架构的框架,可以支撑充血的领域模型范式。

Overview

安装

$ go install github.com/8treenet/freedom/freedom@latest
$ freedom version

脚手架创建项目

$ freedom new-project [project-name]
$ cd [project-name]
$ go mod tidy
$ go run server/main.go

脚手架生成增删查改和持久化对象

# freedom new-po -h 查看更多
$ cd [project-name]

# 数据库数据源方式
$ freedom new-po --dsn "root:123123@tcp(127.0.0.1:3306)/freedom?charset=utf8"

# JSON 数据源方式
$ freedom new-po --json ./domain/po/schema.json

Example

基础教程

http2 监听和依赖倒置

事务组件&自定义组件&Kafka&领域事件组件

一个完整的电商 demo,包含 CQS、聚合、实体、领域事件、资源库、基础设施