.NET Core TODO Http API

Ирина7 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
17.01.2020

- HTTP API TODO позволяет клиенту создавать, читать, обновлять и удалять задачи.

- Задача имеет название, описание, важность (низкая, обычная - по умолчанию, высокая), необязательный срок выполнения и может быть выполнена или активна.

- Несколько задач могут быть удалены одновременно.

- Завершенные задачи должны быть удалены софт.

- Задача может существовать только в списке (ах). Список - это контейнер задач. Клиент может использовать списки для семантической организации / категоризации задач.

- В приложении существует два типа списков: умный и пользовательский.

• Умные списки - это списки, которые существуют в приложении и не могут быть удалены клиентом. В приложении должен существовать следующий умный список:

o Все задачи (включает все задачи, созданные пользователем)

o Запланированные задачи (для которых установлен срок выполнения)

o Важные задачи (для которых установлен флаг «Важные»)

o Сегодняшние задачи (срок выполнения = сегодня)

• Пользовательские списки - созданные клиентами. Может быть удален, обновлен клиентом.

- Одна задача может быть связана с несколькими умными списками (как минимум, одним) и только с одним настраиваемым списком.

- Список должен иметь параметр, чтобы не возвращать завершенные задачи.

- Должна быть возможность переименовать существующие списки (кроме умных)

- Должна быть предусмотрена возможность настройки сортировки по умолчанию (По возрастанию / По убыванию) для любого типа списка:

o Важность (низкая => нормальная => высокая)

о срок

o Завершенный флаг

о алфавитном порядке

о дата создания

- Настроенный порядок сортировки должен применяться к любому запросу для задач в списке.

- Должна быть возможность поиска задач по имени во всех списках.

Нефункциональные требования

- Пожалуйста, документируйте API с помощью OpenAPI.

- Пожалуйста, создайте частный проект в Azure DevOps с помощью git repo и сделайте всю разработку там.

- Должна быть возможность скомпилировать код сразу после клонирования репо.

- Решение должно иметь модульные тесты. Все испытания должны пройти. Убедитесь, что этот тест имеет смысл.

- Подробная инструкция о том, как настроить решение, включая зависимости (в случае их наличия) и как его настроить и запустить, должна быть предоставлена в виде файла readme для разметки в корневом каталоге репо.

- .net core 3.1 и c # 8.0 будет плюсом.

- При реализации HTTP API старайтесь соответствовать RMM уровня 2