proophboard / php-cody-engine-skeleton
用于Cody机器人的事件引擎的Docker化PHP骨架
Requires
- php: ^7.4 || ^8.0
This package is not auto-updated.
Last update: 2024-09-20 01:59:26 UTC
README
这是一个事件引擎的项目骨架。以下教程展示了如何连接和使用Cody机器人与事件引擎骨架,从prooph board事件映射中生成PHP代码。
安装
请确保您已安装Docker和Docker Compose。
安装PHP Cody + 事件引擎骨架
docker run --rm -it \
-v $(pwd):/app \
prooph/composer:8.0 create-project -v \
--stability dev \
--remove-vcs \
proophboard/php-cody-engine-skeleton \
php-cody-engine-tutorial-demo
运行
要启动此应用程序,您可以使用根目录中的dev.sh
bash脚本。它执行一些检查并设置应用程序。之后,您可以使用Docker Compose像往常一样。
$ ./dev.sh
准备数据库
$ docker-compose run --rm pb-ces-worker bin/console database:prepare
服务
此骨架包含一些预先配置的服务以供开发使用。
- 后端:消息框:
http://localhost/api/v1/messagebox
- 后端:消息框模式:
http://localhost/api/v1/messagebox-schema
- 事件引擎控制台:
https://localhost:4444/
- 请确保您已配置正确的模式URL
https://localhost:4444/api/cockpit
和消息框URLhttps://localhost:4444/api/messagebox
。
- 请确保您已配置正确的模式URL
事件引擎控制台
控制台是事件引擎的管理UI。您可以在端口4444
上访问它:https://localhost:4444。骨架预先配置了控制台PHP后端处理器。
注意:为了避免CORS问题,Cockpit服务器的Nginx配置被修改,也作为Cockpit到后端请求的反向代理。
您可以通过执行内置的HealthCheck
查询来验证Cockpit是否可以访问事件引擎后端。
请确保通过设置配置正确的模式URL https://localhost:4444/api/cockpit
和消息框URL https://localhost:4444/api/messagebox
。
Cody
prooph board是一款专门为远程事件风暴设计的建模工具。它附带实时协作功能,适用于团队(仅在付费版本中可用)。免费版本是一个独立的变体,没有任何后端连接。您的工作存储在本地存储中,并可导出。它托管在Github Pages上,具有与SaaS版本相同的代码生成功能。
您可以使用prooph board免费版本并在事件映射上建模构建教程(无需登录)。
创建一个名为“Cody教程”的新版面。您将被重定向到新版面。从顶部菜单中选择“Cody”以打开Cody控制台。只需在控制台中按ENTER即可连接到我们在上一步中设置的默认Cody服务器。
最后,在控制台中输入"/help",让Cody解释基本功能。
Cody将为您生成以下模板
- 事件引擎API的命令、聚合、领域事件和查询描述
- 基于元数据(JSON模式)的命令、聚合、领域事件和查询类及其对应的值对象
- 命令、对应的聚合、对应的领域事件以及查询之间的粘合代码
故障排除
使用命令docker-compose ps
,您可以列出正在运行的容器。这应该看起来像以下列表
Name Command State Ports ---------------------------------------------------------------------------------------------------------------------------------------------------- pb-ces_nginx_1 /docker-entrypoint.sh ngin ... Up 0.0.0.0:443->443/tcp,:::443->443/tcp, 0.0.0.0:8080->80/tcp,:::8080->80/tcp pb-ces_pb-ces-cockpit_1 nginx -g daemon off; Up 0.0.0.0:4444->443/tcp,:::4444->443/tcp, 80/tcp pb-ces_pb-ces-cody_1 docker-php-entrypoint vend ... Up 0.0.0.0:3311->8080/tcp,:::3311->8080/tcp pb-ces_pb-ces-composer-cody_1 composer --ansi install Exit 0 pb-ces_pb-ces-composer_1 composer --ansi install Exit 0 pb-ces_pb-ces-test_1 docker-php-entrypoint php -a Exit 0 pb-ces_pb-ces-worker_1 docker-php-entrypoint php -a Exit 0 pb-ces_php_1 docker-php-entrypoint php-fpm Up 9000/tcp pb-ces_postgres_1 docker-entrypoint.sh -c ma ... Up 0.0.0.0:5432->5432/tcp,:::5432->5432/tcp
请确保您的机器上所有必需的端口都可用。如果不可以这样,您可以在docker-compose.yml
中修改端口映射。