Ссылка на видео на YouTube: https://www.youtube.com/watch?v=Q9nNC3yq8OU
Для разработки проекта были использованы React, Redux (Redux-Thunk) и Firebase. Проект представляет собой аналог Google Forms, где можно создавать тесты и опросы, при этом проходить тесты или опросы может любой человек, который зашёл на сайт. Все тесты и опросы находятся на главной странице, где их можно фильтровать по категории (учебные, развлекательные и т. д.), искать по названию или описанию. На главной странице есть кнопки, которые позволяют переключаться между тестами и опросами.
Тесты и опросы отличаются тем, что тесты автоматически оцениваются и при создании теста нужно указывать правильные ответы, а также баллы за них. У тестов может быть ограничение по времени. Тесты могут содержать обязательные вопросы, если не ответить на них, то не получится закончить тест за исключением случая, когда время прохождения теста закончилось. Вопросы в тестах/опросах могут быть нескольких типов: вопросы где нужно выбрать один вариант из предложенных, вопросы где надо выбрать несколько вариантов из списка, вопросы с текстовым ответом (короткий и развёрнутый), а также вопросы, где нужно установить соответствия между вариантами из левого и правого списков.
Для того чтобы создать тест или опрос, нужно зарегистрироваться. При создании теста/опроса нужно указать общую информацию о тесте (название, описание, категория, картинка, ограничение по времени, будет ли оцениваться автоматически), после этого нужно создать вопросы к тесту, можно добавлять неограниченное количество вопросов. Если это вопрос где нужно выбрать вариант из списка, то вариант ответа имеет оценку, которую пользователь получит если выберет этот вариант ответа. При этом оценка может быть отрицательной, благодаря этому работает система штрафных балов. Вариантов ответов можно добавлять любое количество.
Создатель теста может посмотреть статистику по тесту/опросу. Статистика — это таблица, где можно увидеть каждое прохождение теста, можно увидеть пользователя, который проходил тест, его оценку, дату и время прохождения теста, сколько времени ушло на прохождение теста. Есть сортировка по всем столбцам таблицы (например, сначала показать результаты прохождения, где были самые высокие баллы, самые новые прохождения теста и т. д.). Таблица имеет пагинацию (если записей в таблице много), то есть таблица может иметь несколько страниц, между которыми можно переключаться. Есть поиск по всем столбцам этой таблицы.
Если у вас не установлен Node JS, его надо установить. Сделать это можно на официальном сайте Node JS.
Перейдите в директорию с проектом, откройте терминал в ней. Выполните такие команды в терминале:
npm install
npm run start
Перейдите по этой ссылке в браузере:
http://localhost:3000/