This spa was created whit TypeScript, React, Redux Toolkit, RTKQuery, MUI, i18n as RS-Clone project for final part stage2 in RSSchool.
https://github.com/rolling-scopes-school/tasks/blob/master/tasks/rsclone/rsclone.md
- Start Date: 31.01.2023
- Done: 27.02.2023
- Deadline: 28.02.2023 at 2:59 am
- Fronend https://rs-quizz-app.netlify.app/
- Backend https://rs-quizz-app-server.up.railway.app
- Swagger documentation for Backend https://rs-quizz-app-server.up.railway.app/api/docs
- How to use and test whit Postman : https://github.com/GeorgiyBeloklokov/questApp-server/tree/develop
620 / 620
Frontend code https://github.com/Skave-a/rs-quiz/tree/develop
- Реализован React Router, а само приложение является SPA. (+20)
- Реализованы всплывающие подсказки (tooltip). (+10)
- Вёрстка адаптивная и работает на телефоне/планшете/PC. Минимальная ширина страницы, 320px. (+10)
- Приложение выполнено в едином стиле, для стилизации использовался Material UI. (+20)
- Интерактивность кликабельных элементов, различные стили для активного и неактивного состояния. (+10)
- Футер адаптивный и интерактивный. (+10)
- Есть возможность переключения двух языков. Приложение корректно отображается для любого выбранного языка. (+15)
- Есть возможность переключения на темную тему. (+15)
- Реализована регистрация нового пользователя. Основная часть приложения, кроме стартового экрана, доступна только после успешной регистрации или авторизации. (+20)
- Реализована автоматическая авторизация на сервере и в приложении при регистрации нового пользователя. (+10)
- Реализовано перенаправление пользователя после регистрации или авторизации. (+10)
- Реализован выход из приложения, прекращающий работу, открывается модальное окно и при подтверждении пользователя обнуляется состояние и удаляется токен, происходит перенаправление на главную страницу, доступ к приложению закрыт. (+15)
- Реализована страница пользователя. (+20)
- Пользователь может менять свои данные. (+15)
- Реализован слайдер существующих тестов. (+15)
- На главной странице выведены карточки дефолтных тестов и карточки тестов пользователя. (+15)
- Реализован переход на страницу с тестом при клике по карточке теста. (+10)
- На странице есть Breadcrumbs (Хлебные крошки). (+15)
- Блоки теста выводятся списком. (+10)
- Форма теста валидна, нет возможности нажать на кнопку проверки, пока весь тест не решен. (+10)
- После решения теста, по нажатию на кнопку "check your answers" появляется модальное окно. (+10)
- В модальном окне выводится результат теста и кнопка "To main". (+10)
- Результат и дата сдачи записываются в карточку теста. Выводится надпись в зависимости от того сдавался ли тест, сдан ли тест успешно или тест не сдан. (+10)
- Реализована страница создания теста. (+15)
- Оформление темы вопроса + добавление ссылки на картинку которая будет отображена на главной странице. (+10)
- Создание вопросов и ответом к ним с указанием правильного ответа/ов. (+10)
- Добавление ссылки на фото которое будет отображено на главной странице. (+10)
- Добавление ссылки на фото для вопросов. (+10)
- Удаление вопросов и ответов к нему. (+15)
- Данные сохраняются в бекэнд. (+15)
- При регистрации и авторизации вывод ошибок пользователя либо сервера. (+15)
- При сохранении и создании вопросов вывод ошибок сервера и сервисные сообщения ( +15)
- Используется Rest API. (+10)
- Используется ORM (Sequelize). (+10)
- Использован MVC паттерн. (+10)
- Сервер реализован на Node JS и Nest JS. (+10)
- Подключение и работа с БД (пользователи, вопросы, ответы). (+10)
- Сервер отдаёт корректные ответы, отдаёт HTTP ошибки с нормальными body, по которым можно понять что произошло и пишет читаемые логи. (+10)
- Аутентификация при помощи JWT. (+10)
- Регистрация. (+15)
- Авторизация. (+15)
- Валидация данных (string, number, boolean) + глобальный пайп валидации ( validation pipe) с возможностью применения валидации данных как глобально так и локально . (+20)
- Роли пользователя (user, admin) + добавление любых ролей, создание пользователя с ролями, админ/юзер. (+10)
- Гвард аутентификации и ролевой гвард для ограничения доступа к эндпойнтам. (+10)
- Возможность использовать разные файлы настройки сервера .development.env/.production.env (+10)
- Докер + возможность запуска сервера + базы данных в докере локально или с деплоем ( +10)
- Документация swagger. (+10) https://rs-quizz-app-server.up.railway.app/api/docs
- Загрузка изображений на сервер и отдача статики сервером. (+10)
- Сохранение пользователя, его вопросов и ответов к вопросам. (+10)
- Удаление и обновление вопросов и ответов пользователя. (+10)