vadim-miroshnik/Flask_Auth_JWT

Code review

Closed this issue · 1 comments

Очевидно, код хороший 🔥 и у вас наверняка все работает. Но нужно доработать ряд моментов:

  1. Обратите внимание на требование к работе:

    Заполните README.md так, чтобы по нему можно было легко познакомиться с вашим проектом. Добавьте короткое, но ёмкое описание проекта. По пунктам опишите как запустить приложения с нуля, перечислив полезные команды. Упомяните людей, которые занимаются проектом и их роли. Ведите changelog: описывайте, что именно из задания модуля уже реализовано в вашем сервисе и пополняйте список по мере развития.

  2. Подготовьте пожалуйста инфраструктуру проекта (docker-compose.yaml, Dockerfile-ы)

  3. Сервис авторизации как и остальные сервисы проекта, взаимодействующие с пользователем, должен отдаваться через nginx.

  4. Вот такой способ инициализации и обновления таблиц БД не самый лучший, а в реальных проектах - недопустимый. Только именованные миграции. Попробуйте https://alembic.sqlalchemy.org/en/latest/

  5. Для создания суперпользователя попробуйте https://flask.palletsprojects.com/en/2.1.x/cli/#custom-commands

  6. Обязательно должно быть версионирование адресов "ручек" и папок в проекте. Как это делали в сервисе выдачи контента на FastApi

  7. Выдача истории входов пользователя должна быть с пагинацией, там через 2-3 месяца будут выдаваться сотни записей.

  8. Судя по всему (запустить и проверить не смог, см. п.2) у вас управление ролями доступно всем. Нужно предусмотреть создание суперпользователя (см. п.5) и разрешать это только ему. А для проверки прав пользователя при управлении ролями можно попробовать вот это https://flask-jwt-extended.readthedocs.io/en/stable/custom_decorators/

LGTM