Реализация проекта сервисно-ориентированного приложения.
В рамках первой лабораторной работы была добавлена доменная модель с основными сущностями пункта велопроката и реализованы юнит-тесты.
В базе данных пункта проката хранятся сведения о велосипедах, их арендаторах и выданных в аренду транспортных средствах.
Каждый велосипед характеризуется серийным номером, моделью, цветом. Модель велосипеда является справочником, содержащим сведения о типе велосипеда, размере колес, предельно допустимом весе пассажира, весе велосипеда, типе тормозов, модельном годе. Для каждой модели велосипеда указывается цена часа аренды. Тип велосипеда является перечислением.
Арендатор характеризуется ФИО, телефоном.
При выдаче велосипеда арендатору фиксируется время начала аренды и отмечается ее продолжительность в часах.
- Bike - характеризует велосипед
- BikeModel - информация о модели велосипеда
- Renter - информация об арендаторе
- Rent - информация об аренде велосипеда, класс содержит как велосипед, так и арендатора
BikeTests - юнит-тесты
- InformationAboutSportBikes - Вывести информацию обо всех спортивных велосипедах.
- TopFiveModelsProfit, TopFiveModelsRentDurationIds - Вывести топ 5 моделей велосипедов (по прибыли от аренды и по длительности аренды отдельно).
- MinMaxAvgRentalDuration - Вывести информацию о минимальном, максимальном и среднем времени аренды велосипедов.
- TotalRentalTimeByType - Вывести суммарное время аренды велосипедов каждого типа.
- TopThreeRenters - Вывести информацию о клиентах, бравших велосипеды на прокат больше всего раз.
В рамках второй лабораторной работы было разработано серверное приложение с REST API для управления пунктом велопроката. Приложение предоставляет полный набор операций для работы с сущностями системы и аналитическими запросами.
В рамках третьей лабораторной работы хранение данных было переделано с InMemory коллекий на базу данных. Также был настроен оркестратор Aspire на запуск сервера и базы данных
Были добавлены слои:
Bikes.ServiceDefaults - слой инфраструктурных стандартов, cодержащий конфигурации и расширения по умолчанию для всех сервисов приложения
В четвертой лабораторной работе был имплементирован сервис, который генерирует контракты. Контракты далее передаются в сервер и сохраняются в бд