ショップ システム - 以下の説明は最新ではありません。プロジェクトは再構築中です。
一般情報
- 堅牢なコードの作成を容易にするために、phpstan (6 レベル)、deptrac、codesniffer などのいくつかのツールが使用されます。
- アプリケーションは十分にテストされており、テストはアプリケーション (E2E)、統合、単体テストに分類されています。
- Redis をベースとしたキャッシュ システムが実装されています。
技術的ソリューション
- ディレクトリは、すべてのモジュールのサブディレクトリを含む /Module と、すべてのモジュールで共有されるコンポーネントを含む /Shared に編成されます。各モジュール [Order、Product、User] は 4 つのディレクトリで構成されます。
- アプリケーション -> アプリケーション ロジックの実装を収容します
- ドメイン -> ビジネス情報に厳密に関連するもの (エンティティ、列挙型、およびリポジトリのインターフェイス) が含まれます。
- インフラストラクチャ -> データベースやキャッシュ システムなどの技術層に関連するコンポーネントが含まれます
- UI -> ユーザーとシステム間の接続として機能するコンソール コマンドまたはコントローラーが含まれています
- アクションはコマンドとクエリに分類されます。アクションの完了後に情報を保存するためのカスタム ソリューションを実装しました。各コマンドは CommandResult を返しますが、クエリは成功、ステータス コード、取得したデータに関する情報を含む QueryResult を返します。
- 認証は、LexikJWTAuthenticationBundle を使用した JWT アプローチを使用して実装されます。
- イベント ソーシングは、注文の現在のステータスに関する情報を保存するために使用されます。最後に作成された注文ステータスは、現在のステータスを示します。
データベース
APIドキュメント
構造
モジュール
Make を使用したコマンド
初回実行時に初期化する
開発プロファイルを実行する
マイグレーションの削除、フィクスチャのマイグレーションとロード
make drop_migrations
make migrate
make load_fixtures
すべてのテストを実行する
Make を使用しないコマンド
初回実行時に初期化する
docker-compose up --profile dev -d
docker-compose exec php bin/console doctrine:migrations:diff
docker-compose exec php bin/console doctrine:migrations:migrate
docker-compose exec php bin/console lexik:jwt:generate-keypair
他のコマンドについては Makefile の内容を確認してください
APIドキュメント
API ドキュメントは次の場所から入手できます。