For-Kode-Test-task

0

Описание

Языки

  • Python94,8%
  • Dockerfile5,2%
2 года назад
2 года назад
README.md

Описание задачи

Необходимо спроектировать и реализовать на Python сервис, предоставляющий REST API интерфейс с функциональностью для работы с заметками.

Основные задачи

  1. Создание сервиса:

    • Реализовать сервис на языке Python (версии 3.9 и выше).
    • Обеспечить работу сервиса через REST API с использованием формата JSON.
  2. Реализация методов API:

    • Добавление заметки.
    • Вывод списка заметок.
  3. Хранение данных:

    • Данные должны храниться либо в текстовом файле (формат JSON или CSV), либо в базе данных (PostgreSQL или MongoDB).
  4. Валидация заметок:

    • Интегрировать сервис Яндекс. Спеллер для проверки орфографических ошибок при сохранении заметок.
  5. Аутентификация и авторизация:

    • Реализовать систему аутентификации и авторизации, обеспечивая доступ пользователей только к своим заметкам.
    • Регистрация пользователей не обязательна; допускается использование предустановленного набора пользователей (возможно хардкодирование).

Условия реализации

  • Использовать асинхронный web-фреймворк (например, aiohttp, fastapi, starlette) для реализации web-сервера.
  • Обеспечить корректное использование type hint'ов в коде.
  • Использовать средства автоматизированного форматирования исходного кода (например, yapf или black).
  • Запуск сервиса и необходимой инфраструктуры должен осуществляться в Docker-контейнерах.
  • Продумать удобство проверки работоспособности методов API при ревью задачи (шаблоны curl запросов, коллекции Postman, тесты и т. д.).