Результат выполнения задания нужно будет оформить здесь же, на гитхабе. В качестве ответа не нужно присылать никаких ZIP-архивов и наборов файлов. Все ваши ответы должны быть оформлены на https://github.com/ или на https://bitbucket.org/ Присылаете ссылку на ваш репозиторий в форму https://24.future-group.ru/pub/form/4/xnof82/.
Если у вас еще нет аккаунта на github, то это хороший повод его завести.
Если есть вопросы, вы всегда их можете задать в чате https://t.me/futuregroup_php_chat
ЕСЛИ ВЫСЫЛАЕТЕ ПОДОБНОЕ ЗАДАНИЕ, ТО ПОДГОТОВЬТЕ ОПИСАНИЕ ФУНКЦИОНАЛА ДЛЯ ПРОВЕРЯЮЩЕГО.
Срок 5 рабочих дней с момента получения задания, срок проверки — 5 рабочих дней. Мы отправим ответ на email, если ответа нет, проверьте спам.
Разработать REST API для управления списком задач .
-
Создание задачи: Задача должна включать следующие поля:
- Название (строка, обязательно, до 255 символов).
- Описание (текст, опционально, без ограничений).
- Срок выполнения (дата и время).
- Дата создания (дата и время).
- Статус (выполнена/не выполнена).
- Приоритет (низкий, средний, высокий).
- Категория (например, "Работа", "Дом", "Личное").
-
Просмотр списка задач:
- Возможность поиска по названию .
- Сортировка по дате выполнения .
-
Редактирование задачи: возможность изменить любое из полей.
-
Удаление задачи.
-
Создание задачи
POST /api/tasks
Описание: Создает новую задачу.
Тело запроса:{ "title": "Задача1", "description": "Задача1 описание", "due_date": "2025-01-20T15:00:00", "create_date": "2025-01-20T15:00:00", "priority": "высокий", "category": "Работа", "status": "не выполнена" }
Ответ:
{ "id": 1, "message": "Task created successfully" }
-
Получение списка задач
GET /api/tasks
Описание: Возвращает список задач с возможностью поиска и сортировки.
Параметры запроса (опционально):- search: поиск по названию.
- sort: due_date, created_at.
Пример запроса:
/api/tasks?search=Задача1&sort=due_dateОтвет:
[ { "id": 1, "title": "Задача1", "description": "Задача1 описание", "due_date": "2025-01-20T15:00:00", "create_date": "2025-01-20T15:00:00", "status": "pending", "priority": "высокий", "category": "Работа", "status": "не выполнена" } ]
-
Получение конкретной задачи
GET /api/tasks/{id}
Описание: Возвращает задачу по её ID.
Ответ:{ "id": 1, "title": "Задача1", "description": "Задача1 описание", "due_date": "2025-01-20T15:00:00", "create_date": "2025-01-20T15:00:00", "status": "pending", "priority": "высокий", "category": "Работа", "status": "не выполнена" }
-
Обновление задачи
PUT /api/tasks/{id}
Описание: Обновляет информацию о задаче.
Тело запроса:{ "title": "Задача2", "description": "Задача2 описание обновленное", "due_date": "2025-01-25T18:00:00", "priority": "низкий", "status": "выполнена" }
Ответ:
{ "message": "Task updated successfully" }
-
Удаление задачи
DELETE /api/tasks/{id}
Описание: Удаляет задачу по её ID.
Ответ:{ "message": "Task deleted successfully" }
- Чистота и структура кода.
- Следование стандартам и лучшим практикам.
- Полнота выполнения функциональных требований.
- Документация и инструкции.
- Качество тестов.
Нужна возможность выводить информацию в списке постранично
Swagger для отображения методов api (https://swagger.io/)
Так же напишите нам, как вы тестировали результат своей работы. Какие используете инструменты и как вы осуществляете тестирование.
Дополнительным плюсом будет: Финальный билд приложения должен быть запускаться из Docker контейнера (хотябы с минимальной конфигурацией)