traditio/tvigle_test
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Исходя из задания, что не требуется подключения модуля к веб-сайту, можно сделать вывод, что модуль никак не завязан на Django или другой подобный фреймворк, значит нужно писать универсальный модуль. В задании сказано про использование Python DB Api 2. SqlAlchemy отлично поддерживает DB API через объекты Connection, и к тому же из коробки поставляет пул соединений, что важно для мультритредовых приложений, а интернет-сайты (в большинстве случаев) запускаются на тредовых серверах. Структуру базы в тестовом задании можно создать 3-мя способами - сделать файл базы в стороннем приложении и вложить его в задание - написать скрипт создания БД на чистом SQL - использовать миграции Честно говоря, я не удержался от использования миграций, хотя судя по тексту задания можно подумать, что рекомендуется чистый SQL (возможно, что бы проверить знание ANSI SQL). Логика работы приложения разделена на модели (User, Permission) и классы контроллеров авторизации и регистрации. Так как контроллеры не привязаны к какому-либу фреймворку, исключительные ситуации отлавливаются не возвратом данных, а вызовом исключительных ситуаций. В Django это выглядело бы по-другому, мы бы не кидались исключениями, а определяли в контроллере "состояние", которое передавали бы шаблон. "Права" пользователя это ничто иное как простой набор строк. К пользователю можно добавлять права, удалять их и проверять на наличие. Токен для подтверждения Email не хранится в базе, а основывается на хеше пароля, который хранится в БД и дате окончания срока действия токена. И, разумеется, пароли в базе храним только в зашифрованном виде (SHA-256). ./migrates.sh - запуск создание БД (миграций) python test.py - запуск тестов
About
Tvigle test
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published