Разработать веб-приложение для ведения списка дел. Список дел имеет название и описание. Элемент списка дел имеет название, описание и дату выполнения, а также отметку выполнено/не выполнено.
Приложение должно обеспечивать:
- Хранение произвольного числа списков дел.
- Хранение произвольного числа дел в списке.
- Добавление, редактирование, удаление списка.
- Добавление, удаление, редактирование дела.
Приветствуются дополнительный функционал (поиск с фильтрацией, пагинация, собственные идеи).
Бэкенд реализовать на ASP.NET Core 3.1+. Реализовывать фронтенд не обязательно, но является плюсом. Можно использовать ASP.NET MVC c Razor/Blazor либо любой SPA фреймворк. Авторизация не требуется.
Обязательно:
- Использовать SwaggerUI для документирования API. Реализовать с помощью библиотеки Swashbuckle по инструкции.
- Использовать EntityFramework Core для работы с БД.
- Использовать в качестве БД localdb или sqlite.
- Обеспечить разделение приложения на проекты в соответствии с трехслойной архитектурой.
- Работу вести в репозитории на github по модели Gitflow.
Дополнительно:
- Покрыть код юнит-тестами. Рекомендуется использовать xUnit и FluentAssertions.
- Реализовать поиск по названию списка или дела.