三明治器 / 域名
一个测试一些开发概念的项目 - 域名
Requires
- php: 8.0.0
Requires (Dev)
- phpunit/phpunit: 9.5.0
This package is auto-updated.
Last update: 2024-09-19 07:44:30 UTC
README
索引
摘要
一个应用某些工程和开发概念的原型项目。
该项目包括一个简单的应用程序,可以使任何三明治爱好者生活更轻松。目前,每个人想要从他们最喜欢的当地三明治店吃三明治都需要写下他们的首选选择,而当有一大群人时,这个应用程序可能有助于管理你团体的餐点和订单。
项目设置
- 为了设置/运行项目,只需要安装 docker 和 docker compose
- 项目中包含了Laravel Sail脚本,用于处理docker环境以及在容器内执行命令,因此它将是你在容器内运行任何内容的最佳朋友。
- 要运行任何命令,只需运行
./sail <command_you_want_to_run>
。要启动项目,请运行./sail up -d
。这将设置docker环境并使所有容器运行。 - 运行
./sail composer install
以安装所有PHP依赖项 - 就这些了。你现在应该已经设置好了。
- 要运行所有应用程序测试,请运行
./sail composer test
业务逻辑描述/需求
-
目前,每个人想要从他们最喜欢的当地三明治店吃三明治都需要写下他们的首选选择
-
我们需要一个由数据库支持的应用程序来管理这个(非常复杂)的过程。
-
管理员应该能够添加用户(将要吃三明治的人,让我们称他们为消费者)。
-
管理员应该为新餐点开启“注册”。这可以阻止人们总是单独下单。
-
餐点有一个由管理员控制的状态(开放和关闭)。
-
一次只能有一个餐点“开放”。并且只有在对的餐点开放时,用户才能注册他们的选择。
-
餐点还有一个日期(餐点被吃的日期)
-
餐点还应有一个唯一的链接。这个链接可以在移动设备上打开(无需密码)以检查当前的订单。
-
每个用户都应该有一个唯一的代码,他可以在某个页面上登录。在该页面上,用户可以选择
- 面包(下拉列表,数据库中的选择)
- 面包的大小(下拉列表,15或30厘米)
- 是否需要烘烤
- 三明治的味道(数据库中的下拉列表,例如鸡肉玉米卷)
- 额外配料(额外的培根,双份肉类或额外的奶酪)
- 您想要在三明治上放哪些蔬菜(下拉列表,数据库中的多个可能值)
- 您想要的酱汁(数据库中的下拉列表)
- 然后用户可以放置他的订单(在当前开放的订单上)。
-
用户必须能够编辑他的订单(但只能在订单/餐点仍然开放时)。
-
用户还应该能够通过他的唯一链接“登录”查看他的以前的订单。
技术细节
架构
此应用域主要遵循Screaming Architecture、SOLID和DDD原则。
该域目前(暂时)用于laravel应用项目。
应用目前正在经历一些重构,以开始使用该域来处理应用的业务用例。
Composer
此项目已发布到Packagist,因此可以通过composer轻松导入到任何项目中。
CI/CD
项目已集成CircleCI以运行测试管道(链接见上方)。
目前它仅运行测试,但作为下一步,所有测试通过后,应在仓库中自动创建一个包含代码的发布版本,以避免手动执行此过程。