Skip to content

ioaznnis/DeliveryService

Repository files navigation

DeliveryService

Веб-сервис для обработки поставок оборудования

Требования, которым соответствует данный сервис:

  1. ASP.NET Сore
  2. JSON как формат передачи данных

Используется в ASP.NET Сore по умолчанию

  1. RESTful API для сущностей: поставщик, наименование, поставка
  2. Модуль аналитики, для получения аналитических данных о поставках
  3. Использование ORM EntityFrameworkCore.
  • Быстрая скорость разработки с использованием Code First
  • Поддержка LINQ
  • Возможнось замены провайдера БД без рефакторинга системы
  • Достаточная производительность. В исходном ТЗ количество операций в секунду не описано, поэтому скорость разработки важнее скорости работы с БД.
  • По умолчанию в режиме разработки работа ведется с LocalDb, что в сочетании с заполнением первоначальных данных из кода позволяет хранить "эталонную" БД в том же репозитории

Осталось реализовать:

  1. Уведомления о изменениях в поставках

Подключение к БД:

Для подключения к БД необходимо в конфигурации указать параметры:

  • DbServer - сервер БД (MsSQl)
  • DbDatabase - имя БД.

В режиме разработки значения указаны, и будет создана LocalDb база данных. Если указанная БД пустая, то она будет заполнена начальными значениями.

Не реализованные вопросы, реализация которых не оговорена в исходном ТЗ

  1. Авторизация (так как предполагается, что с этим сервисом одновременно работает несколько внутренних информационных систем компании)
  2. Логирование
  3. Использование даты в UTС
  4. Валидация данных
  5. Тестирование:
    1. Unit тестирование
    2. Интеграционные тесты
  6. Должен ли аналитичский модуль быть "точным", т.е. должна ли сумма % давать 100%, или результат может отличаться на ошибку округления

Список feature, которые можно внедрить в данном проекте

  1. Разделение на слои
  2. Создание слоя репозитория
  3. Отказ от [JsonIgnore] + создание базовых типов для JSON CRUD
  4. Использование миграций

About

Example ASP.NET Сore RESTful API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages