Система для управления заказами промышленного предприятия.
Domain слой инкапсулирует в себе сущности предметной области и их поведение. Предметная область представлена тремя моделями:
- Order - представляет собой заказ
- OrderItem - элемент заказа, является внутренней сущностью заказа
- Provider - поставщик
Order содержит в себе логику, соответствующую требованиям предметной области. Provider является предопределённым множеством. Слой реализован в качестве библиотеки классов.
За слой инфраструктуры отвечает Infrastructure. Инфраструктура содержит логику работы с данными: правила создания контекста базы данных, конфигурации сущностей, поддержание идемпотентности посылаемых клиентом запросов, а также реализует промежуточный слой взаимодействия с данными (репозитории). Слой реализован в виде библиотеки классов.
API является слоем приложения, содержащим логику взаимодействия различных сервисов, запросов и команд, а также частью слоя представления, так как сохраняет состояние и отправляет данные о нём веб-клиенту. Работает на основе ASP.NET Web Api. В слой представления также входит webclient, работающий на основе React, поэтому в API встроена политика CORS.
Перейдите в директорию с файлами API:
cd <PATH_TO_SOLUTION>\Ordering.API
где <PATH_TO_SOLUTION>
представляет собой путь к файлу решения (OrdersManagment.sln
).
После этого для запуска API выполните команду:
dotnet run
Доступ к API можно получить по следующим URL:
Orders Controller: https://localhost:5001/api/orders
Providers Controller: https://localhost:5001/api/providers
Web Client представляет собой UI, получающий данные от API и обрабатывающий их посредством TypeScript и React.
Перейдите в директорию с файлами веб-клиента:
cd <PATH_TO_SOLUTION>\webclient
где <PATH_TO_SOLUTION>
представляет собой путь к файлу решения (OrdersManagment.sln
).
После этого для запуска API выполните команду:
npm start
Доступ к webclient можно получить по следующей URL:
https://localhost:3000
MIT