При выставлении оценок используйте рекомендации 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 баллов