radarlog / doop
简单文件上传器 / AWS S3 上传器
dev-master
2024-07-21 13:01 UTC
Requires
- php: ^8.3
- composer-plugin-api: ^2.6
- composer-runtime-api: ^2.2
- ext-fileinfo: *
- ext-json: *
- ext-pdo: *
- async-aws/s3: ^2.3
- doctrine/dbal: ^4.0
- doctrine/migrations: ^3.8
- psr/log: ^3.0
- symfony/config: ^7.1
- symfony/console: ^7.1
- symfony/dependency-injection: ^7.1
- symfony/flex: ^2.4
- symfony/form: ^7.1
- symfony/framework-bundle: ^7.1
- symfony/monolog-bundle: ^3.10
- symfony/twig-bundle: ^7.1
- symfony/uid: ^7.1
- symfony/webpack-encore-bundle: ^2.1
- symfony/yaml: ^7.1
Requires (Dev)
- ergebnis/composer-normalize: ^2.43
- phpstan/phpstan: ^1.11
- phpstan/phpstan-symfony: ^1.4
- phpunit/phpunit: ^11.2
- psalm/plugin-phpunit: ^0.19.0
- psalm/plugin-symfony: ^5.2
- qossmic/deptrac: ^2.0
- roave/security-advisories: dev-latest
- slevomat/coding-standard: ^8.15
- squizlabs/php_codesniffer: ^3.10
- symfony/browser-kit: ^7.1
- symfony/dotenv: ^7.1
- vimeo/psalm: dev-master as 5.25
This package is auto-updated.
Last update: 2024-09-21 16:58:55 UTC
README
Doop 是一个 PHP 应用程序,实现了用于将图像上传到兼容 S3 的对象存储以及使用 PostgreSQL 进行数据去重的六边形架构。它严格遵守 SOLID 原则,并经过 100% 的测试覆盖。开发环境完全通过 makefile 自动化和 Docker 化。
要求
- PHP >= 8.3
- PostgreSQL >= 16.3
- S3 兼容存储(AWS,MinIO)
- Node.js >= 22.2
- Yarn >= 1.22
- Typescript >= 5.4
目录结构
bin/ cli entry point
config/ configuration files
docker/ docker related files
public/ http document root
src/ source files
Application/ application layer (use cases)
Domain/ domain layer (core logic)
Frontend/ frontend application (css, html, typescript)
Infrastructure/ infrastructure layer (db, cli, http)
tests/ unit and functional tests
Application/ use cases unit tests
Domain/ domain layer unit tests
Fixtures/ image fixture files
Infrastructure/ infrastructure functional tests
本地运行
确保您已安装 docker compose
和 make
。克隆最新版本并运行
$ make run
然后使用您喜欢的浏览器导航到 https:///
。
测试
确保您已安装 docker compose
和 make
。执行所有必要的 QA 检查,如编码风格、静态分析和单元/功能测试
$ make tests
许可
Doop 在 MIT 许可下发布。请参阅 LICENSE 以获取详细信息。
更新日志
请参阅 CHANGELOG 以获取更多信息。