diff --git a/README.md b/README.md index c1a0228..32d6e30 100644 --- a/README.md +++ b/README.md @@ -63,4 +63,62 @@ php artisan world-heritage:import-japanese-names --force ```bash php artisan test -``` \ No newline at end of file +``` + +## Architecture Overview +``` +[Browser] + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Frontend (world-heritage-frontend) │ +│ React + TypeScript + Vite / TailwindCSS │ +└─────────────────────────────────────────────────────────────┘ + │ REST API (HTTP) + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Backend (world-heritage-api) / Laravel 11 │ +│ │ +│ ┌──────────────────────────────────────────────────────┐ │ +│ │ Presentation Layer │ │ +│ │ Controller / FormRequest │ │ +│ └───────────────────┬──────────────────────────────────┘ │ +│ │ │ +│ ┌───────────┴────────────┐ │ +│ │ Write │ Read │ +│ ▼ ▼ │ +│ ┌───────────────┐ ┌─────────────────┐ │ +│ │ Application │ │ Application │ │ +│ │ UseCommand │ │ ListQuery │ │ +│ └───────┬───────┘ └────────┬────────┘ │ +│ │ │ │ +│ ▼ ▼ │ +│ ┌───────────────┐ ┌─────────────────┐ │ +│ │ Domain Layer │ │ QueryService │ │ +│ │ UseCase │ │ DTO │ │ +│ │ Entity │ └────────┬────────┘ │ +│ │ ValueObject │ │ │ +│ │ Repository │ │ │ +│ └───────┬───────┘ │ │ +│ │ │ │ +│ ┌───────▼───────┐ │ │ +│ │Infrastructure │ │ │ +│ │ Eloquent │ │ │ +│ │ Repository │ │ │ +│ └───────┬───────┘ │ │ +│ │ │ │ +└──────────┼───────────────────────┼──────────────────────────┘ + │ 一覧 / 詳細取得 │ キーワード検索 + ▼ ▼ + ┌─────────┐ ┌───────────┐ + │ MySQL │◀─── ID ───│ Algolia │ + │ (DB) │ │ (Search) │ + └─────────┘ └───────────┘ +``` + +## Related Repositories + +| Role | Repository | +|---|---| +| Frontend | https://github.com/zigzagdev/world-heritage-frontend | +| Backend API | https://github.com/zigzagdev/world-heritage-api | \ No newline at end of file