public
Authored by
Шульгин Михаил Алексеевич
Тестовое задание бэкенд
Описание задания:
Вам необходимо создать Flask API, который сможет обрабатывать сохранение и получение карточек задач с простыми полями в базе данных SQLite. API должен также включать простую Bearer аутентификацию и обработку ошибок.
Требования:
- Flask API: Реализовать Flask API с конечными точками для сохранения и извлечения карточек. Используйте соответствующие HTTP-методы для каждого эндпоинта.
- SQLite Database: Используйте SQLite для хранения карточек. Используйте приведенную ниже схему для таблицы карточек.
-
Поля карточки: Каждая карточка должна содержать следующие поля:
-
id
: Уникальный идентификатор карточки (генерируется базой). -
title
: Название карточки. -
description
: Описание карточки. -
responsible
: Юзернэйм ответственного за карточку. -
timestamp
: Таймстамп создания карточки (генерируется автоматически).
-
-
Аутентификация: Реализуйте простую аутентификацию по
Bearer
токену. Токен может быть как обычная глобальная константа внутри API для упрощения. Только аутентифицированные пользователи должны иметь доступ к сохранению или извлечению карточек. - Обработка ошибок: Правильно обрабатывайте ошибки и возвращайте понятные сообщения об ошибках в теле и заголовке ответа в случае неверных запросов или проблем на стороне сервера.
Эндпоинты:
-
Сохранение карточки:
- Метод: POST
- URL:
/task/save
- Тело запроса: JSON-объект, содержащий поля
title
,description
иresponsible
.
-
Получение карточек по имени пользователя:
- Метод: GET
- URL:
/task/{username}
- Ответ: JSON-массив, содержащий все карточки, назначенные указанному имени пользователя, упорядоченные по таймстамп в порядке убывания.
-
Получение всех карточек:
- Метод: GET
- URL:
/task
- Ответ: JSON-массив, содержащий все карточки, упорядоченные по таймстамп в порядке убывания.
Примечание:
- Для демонстрации результата задания вам необходимо подготовить тестовые запросы к вашему API через любой REST Клиент (Insomnia, Postman, CURL ...)
- Вы можете использовать любые аддоны Flask или библиотеки, которые считаете уместными.
- Не стесняйтесь задавать вопросы, если у вас возникнут какие-либо вопросы или вам нужно дополнительное пояснение по какому-либо аспекту задания.
1
Please register or sign in to comment