При выставлении оценок используйте рекомендации RSSchool.
Максимальная оценка - 100 баллов. Минимальная оценка - 0 баллов.
- Пароли пользователей сохраняются в базу в виде хэша с использованием
bcrypt
. +20 баллов. - Добавлен роут
/login
, связанная с ним логика разделена между контроллером (middleware
) и соответствующим сервисом. В случае отсутствия юзера в БД, возвращается 403 (Forbidden
) HTTP статус. +20 баллов. JWT
токен содержитuserId
иlogin
, секретный ключ хранится в.env
+20 баллов.- Доступ ко всем роутам, за исключением
/login
,/doc
и/
, требует аутентификации +20 баллов. - Проверка на наличие токена в реквесте реализована в отдельной
middleware
на уровне приложения. В случае если токен не валидный, или отсутствует, возвращается 401 (Unauthorized
) HTTP статус. +20 баллов.
Штрафы:
- Наличие изменений в тестах либо в workflow минус 100 баллов
- Внесение изменений в репозиторий после дедлайна не считая коммиты, вносящие изменения только в
Readme.md
минус 30% от максимального балла за задание (для этого задания 30 баллов) - За каждую ошибку линтера при запуске
npm run lint
на основе локального конфига -20 баллов (именноerrors
, неwarnings
) - За каждую ошибку компилятора -20 баллов
- Для успешного прохождения тестов обязательно наличие в БД юзера с логином - admin, паролем - admin. Все тесты
npm run test:auth
должны проходить успешно, каждый не пройденный тест минус 20 баллов. - Имеются явно указанные типы
any
,unknown
-20 баллов за каждое использование - За отсутствие отдельной ветки для разработки -20 баллов
- За отсутствие
Pull Request
-20 баллов - За неполную информацию в описании
Pull Request
(отсутствует либо некорректен один из 3 обязательных пунктов) -10 баллов - Меньше 3 коммитов в ветке разработки, не считая коммиты, вносящие изменения только в
Readme.md
— -20 баллов