Skip to content

Stepping - a tools for code design, event storming, domain model generate.

License

Notifications You must be signed in to change notification settings

phodal/stepping

Repository files navigation

Stepping - write a dsl, run on any framework.

Markdown Improve

Stepping a tools for code design, event storming, domain model generate.

Usage

1.Install

yarn global add stepping

or

npm install -g stepping

2.Run

stepping -i FILE_NAME

example stepping file: ddd.ing

domain: 库存子域
  aggregate: 库存
    event: 库存已增加
    event: 库存已恢复
    event: 库存已扣减
    event: 库存已锁定
    command: 编辑库存

  aggregate: 商品
    event: 商品已创建
    command: 添加商品

domain: 订单子域
  aggregate: 订单
    event: 订单已创建
    event: 订单已支付
    event: 订单已撤销
    event: 订单已投拆
    command: 提交订单
    command: 提交投诉

Result:

DDD Example

create demo app with Django & Angular 2

...

detail: 商品
  model: product
   - id: int (long, md5)
   - name: string (64)
   - number: string (64)
   - manufacturers: string (128)

Thanks

DSL Design

Event Storming Example

DSL to aggregate event

Architecture

TypeScript DDD Base: https://github.com/yaakaito/typescript-dddbase

Springy: https://github.com/dhotson/springy

Jison: https://github.com/zaach/jison

js-sequence-diagrams: https://bramp.github.io/js-sequence-diagrams/

Handbook of Graph Drawing and Visualization

License

Phodal's Idea

© 2017 A Phodal Huang's Idea. This code is distributed under the MIT license. See LICENSE in this directory.

待我代码编成,娶你为妻可好