Тестовое задание бэкенд

Описание задания:

Вам необходимо создать Flask API, который сможет обрабатывать сохранение и получение карточек задач с простыми полями в базе данных SQLite. API должен также включать простую Bearer аутентификацию и обработку ошибок.

Требования:

  1. Flask API: Реализовать Flask API с конечными точками для сохранения и извлечения карточек. Используйте соответствующие HTTP-методы для каждого эндпоинта.
  2. SQLite Database: Используйте SQLite для хранения карточек. Используйте приведенную ниже схему для таблицы карточек.
  3. Поля карточки: Каждая карточка должна содержать следующие поля:
    • id: Уникальный идентификатор карточки (генерируется базой).
    • title: Название карточки.
    • description: Описание карточки.
    • responsible: Юзернэйм ответственного за карточку.
    • timestamp: Таймстамп создания карточки (генерируется автоматически).
  4. Аутентификация: Реализуйте простую аутентификацию по Bearer токену. Токен может быть как обычная глобальная константа внутри API для упрощения. Только аутентифицированные пользователи должны иметь доступ к сохранению или извлечению карточек.
  5. Обработка ошибок: Правильно обрабатывайте ошибки и возвращайте понятные сообщения об ошибках в теле и заголовке ответа в случае неверных запросов или проблем на стороне сервера.

Эндпоинты:

  1. Сохранение карточки:

    • Метод: POST
    • URL: /task/save
    • Тело запроса: JSON-объект, содержащий поля title, description и responsible.
  2. Получение карточек по имени пользователя:

    • Метод: GET
    • URL: /task/{username}
    • Ответ: JSON-массив, содержащий все карточки, назначенные указанному имени пользователя, упорядоченные по таймстамп в порядке убывания.
  3. Получение всех карточек:

    • Метод: GET
    • URL: /task
    • Ответ: JSON-массив, содержащий все карточки, упорядоченные по таймстамп в порядке убывания.

Примечание:

  • Для демонстрации результата задания вам необходимо подготовить тестовые запросы к вашему API через любой REST Клиент (Insomnia, Postman, CURL ...)
  • Вы можете использовать любые аддоны Flask или библиотеки, которые считаете уместными.
  • Не стесняйтесь задавать вопросы, если у вас возникнут какие-либо вопросы или вам нужно дополнительное пояснение по какому-либо аспекту задания.
Edited
1 1 bytes
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment