proophboard/php-cody-engine-skeleton

用于Cody机器人的事件引擎的Docker化PHP骨架

dev-master 2022-02-23 12:58 UTC

This package is not auto-updated.

Last update: 2024-09-20 01:59:26 UTC


README

这是一个事件引擎的项目骨架。以下教程展示了如何连接和使用Cody机器人与事件引擎骨架,从prooph board事件映射中生成PHP代码。

安装

请确保您已安装DockerDocker 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

服务

此骨架包含一些预先配置的服务以供开发使用。

事件引擎控制台

控制台是事件引擎的管理UI。您可以在端口4444上访问它:https://localhost:4444。骨架预先配置了控制台PHP后端处理器

注意:为了避免CORS问题,Cockpit服务器的Nginx配置被修改,也作为Cockpit到后端请求的反向代理。

您可以通过执行内置的HealthCheck查询来验证Cockpit是否可以访问事件引擎后端。

请确保通过设置配置正确的模式URL https://localhost:4444/api/cockpit 和消息框URL https://localhost:4444/api/messagebox

HealthCheck

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中修改端口映射。