Локальная копия. Источник: https://github.com/ispringtech/coding-interview
Разработать сервис “Todo list”, который позволяет вести список задач. Должны поддерживаться следующие операции:
- Добавить новую задачу;
- пометить задачу как выполненную;
- получить список невыполненных задач;
- удалить задачу.
Задача представляет из себя обычный текст, максимальной длиной 1000 символов. Попытка задать текст большего размера должна приводить к выбрасыванию ошибки.
Для взаимодействия с сервисом использовать REST API. Представление данных в формате JSON. Список задач всегда один общий, аутентификация и авторизация не требуются.
API должно адекватно реагировать на некорректные входные данные и возвращать соответствующий код ответа. Например, передача некорректного идентификатора задачи в вызове метода, приводит к коду ответа 404.
Дополнительные задания (опционально для выполнения)
- Метод API, позволяющий получить список архивных задач (которые были помечены выполненными);
- набор API тестов, позволяющих проверить работу приложения в автоматическом режиме. Реализовать можно с помощью Postman (https://www.postman.com/use-cases/api-testing-automation/);
- Dockerfile, который содержит все необходимые настройки и зависимости для быстрого разворачивания окружения.
- Язык программирования: PHP 7.x или Go
- СУБД: MySQL или postgresql
- Исходный код разместить в репозитории на GitHub
- Использование фреймворков и библиотек по желанию
- Frontend делать не надо