Было бы здорово, если бы существовал веб-сайт, который помогает нам ежедневно расширять наши знания в области программирования без необходимости регистрации или входа в систему и к которому можно получить доступ из любого места?

Не волнуйтесь, Pro-Quiz вот выручайте...

Pro-Quiz (Программирование-Викторина):

Pro-Quiz — это веб-приложение, которое ежедневно публикует простой вопрос по программированию MCQ. Вопросы довольно базового уровня, которые помогут вам ежедневно расти, а также объясняют правильный ответ.

Самое приятное то, что вы можете ответить на вопрос без авторизации/регистрации на сайте.

Примечание. Вы можете ответить на вопрос только один раз, после этого вы не сможете отправить его снова. Так что не торопитесь, чтобы ответить на него.

Что делать, если я пропустил вопрос?

Не волнуйтесь, Pro-Quiz предоставляет список прошлых вопросов, правильный ответ на них и их правильное объяснение.

Как узнать сложность вопроса?

В нижнем колонтитуле мы указываем показатель точности, который показывает, сколько людей попытались и получили правильный ответ. Если оценка выше (скорее всего, вопрос простой), в противном случае это может быть сложно.

Технический стек:

Базовая часть: NodeJs

Объяснение важных компонентов бэкэнда:

ПОЛУЧИТЬ Apis:

  • /today-question: этот API получает вопрос о сегодняшнем дне, который нужно было задать.
  • /past-questions: этот API предоставляет список всех прошлых вопросов, заданных на веб-сайте.

POST-Api:

  • /check-answer: проверяет правильность ответа, а также увеличивает аналитическую часть вопроса (показатель точности вопроса).
  • /create-question: это конечная точка API, которая помогает создать вопрос.

Задание CRON: мы включили это задание CRON, которое будет обновлять вопрос ежедневно через 24 часа.

Swagger.Swagger также обеспечивает легкий доступ к API непосредственно через веб-сайт.

Внешний интерфейс: React

Основная цель состояла в том, чтобы предоставить пользователю красивый и простой пользовательский интерфейс, где он может видеть вопросы и отвечать на них.

Основные реализованные функции и рекомендации были следующими:

  • Material-UI активно использовался для реализации веб-приложения.
  • Функциональные компоненты и хуки были реализованы вместо компонентов на основе классов.
  • Следовал синтаксису ES6
  • Адаптивный дизайн был реализован для работы на любом устройстве.

На данный момент мы сохраняем информацию о том, ответил пользователь на вопрос или нет, в локальном хранилище браузера.

База данных: MongoDB

Мы использовали MongoDB в качестве базы данных, основной причиной ее использования была возможность хранить данные в формате, подобном JSON, и масштабируемой архитектуре.

Скриншоты User Flow и WebApp:

Будущая область:

Мы все знаем, что неохотно входим/регистрируемся на многих веб-сайтах, чтобы узнать или просто получить информацию о чем-то. Так что мы продолжим предоставлять возможность отвечать инкогнито.

  • Предоставление функции регистрации для персонализации взаимодействия с пользователем и отправка ему аналитических электронных писем с вопросами, на которые они ответили.
  • Добавление более подробных вопросов.
  • Улучшение пользовательского интерфейса веб-приложения.

Создатели и упоминания:

Проект был разработан в ходе 36-часового хакатона Codedamn. Хотел бы поблагодарить своих товарищей по команде (Амана и Приянка) за то, что они работали над этим вместе со мной.