├── WarehouseManagement.Domain/ # Доменный слой
│ ├── Aggregates/ # Агрегаты
│ ├── Common/ # Базовые классы
│ └── ValueObjects/ # Объекты-значения
├── WarehouseManagement.Application/ # Слой приложения
│ ├── Features/ # CQRS для документов
│ │ ├── ReceiptDocuments/ # Документы поступления
│ │ ├── ShipmentDocuments/ # Документы отгрузки
│ │ └── BalanceQueries/ # Запросы баланса
│ ├── Services/ # Сервисы для справочников
│ └── Common/ # Репозитории
├── WarehouseManagement.Infrastructure/ # Слой инфраструктуры
│ └── Data/ # Entity Framework
├── WarehouseManagement.Web/ # Web API
│ └── Controllers/ # REST API контроллеры
└── WarehouseManagement.Tests/ # Тесты
- Простые справочники → обычный сервисный подход
- Сложные операции с документами → CQRS + Event Sourcing ready
- Обобщенные репозитории для устранения дублирования
- Clean Architecture с четким разделением ответственности
- Убедитесь, что у вас установлен Docker и Docker Compose
- Выполните команду в корневой директории проекта:
docker-compose up --build
- После запуска приложение будет доступно по адресам:
- Фронтенд: http://localhost:3000
- Бэкенд API: http://localhost:8080
- База данных PostgreSQL: localhost:5432
- Настройте PostgreSQL
- Обновите строку подключения в
appsettings.json - Запустите приложение:
dotnet run --project WarehouseManagement.Web