Пост

Quiz Analyzer - расширение для браузера, для тестов ТУСУР

В данной статье я расскажу о том как я делал расширение для браузера которое поможет с прохождением тестов ТУСУР

Quiz Analyzer — это браузерное расширение, предназначенное для автоматического анализа тестов на веб-страницах, извлечения вопросов и правильных ответов, а также их сохранения в базе данных MySQL через сервер на Node.js.

Прохождение теста, если нажать на кнопку Показать ответы Quiz-Analyzer

Результат прохождения: Quiz-Analyzer1

Основные функции

Расширение добавляет две основные кнопки:

  • “Анализ теста” (красная кнопка) — извлекает вопросы и правильные ответы со страницы теста и отправляет их на сервер.
  • “Показать ответы” (зеленая кнопка) — отображает правильные ответы под соответствующими вопросами на странице.

Компоненты проекта

1. Браузерное расширение

Состоит из следующих файлов:

  • manifest.json — конфигурация расширения для браузера.
  • content.js — основной скрипт, который выполняется на страницах с тестами, извлекает вопросы и ответы.
  • popup.html — всплывающее окно расширения с кнопкой “Анализировать тест”.
  • popup.js — логика работы всплывающего окна.
  • styles.css — стили для всплывающего окна.

Как работает расширение?

  1. При загрузке тестовой страницы скрипт content.js добавляет кнопки “Анализ теста” и “Показать ответы”.
  2. По нажатию “Анализ теста”:
    • Извлекаются все вопросы и правильные ответы.
    • Проверяется, отмечен ли ответ как “Верно”.
    • Если вопроса еще нет в базе данных, он отправляется на сервер.
  3. По нажатию “Показать ответы”:
    • Под каждым вопросом добавляется текст “Правильный ответ: …” с найденным верным ответом.

Как установить и запустить?

1. Установка браузерного расширения

  1. Откройте Chrome, перейдите по адресу chrome://extensions/.
  2. Включите “Режим разработчика”.
  3. Нажмите “Загрузить распакованное расширение” и выберите папку с файлами (manifest.json, content.js и т.д.).

Серверная часть (Node.js + MySQL)

Компоненты сервера

1. Серверная часть (Node.js + MySQL)

Файлы сервера:

  • server.js — основной сервер на Node.js, который принимает данные от расширения и сохраняет их в базу.
  • db.js — подключение к MySQL.
  • package.json — Стили.

Как работает сервер?

  1. Принимает данные от расширения по маршруту /save-quiz.
  2. Проверяет, есть ли уже такой вопрос в базе.
  3. Если вопроса нет — добавляет его с правильным ответом.
  4. Отправляет ответ расширению с результатом сохранения.

3. База данных (MySQL)

Содержит таблицу quiz_data с полями:

  • id (автоинкрементный идентификатор)
  • question (текст вопроса)
  • answer (правильный ответ)

При анализе теста сервер проверяет, есть ли уже такой вопрос, и добавляет его только в случае отсутствия.

4. Проксирование запросов через Nginx

На сервере используется Nginx для перенаправления запросов с https://site.ru/save-quiz на локальный сервер Node.js (ip:3000).

Назначение проекта

  • Автоматизация анализа тестов — не нужно вручную копировать вопросы и правильные ответы.
  • Сохранение в базе данных — можно собирать базу вопросов и ответов для обучения.
  • Быстрый доступ к ответам — кнопка “Показать ответы” помогает в проверке тестов.

Как установить и запустить?

1. Запуск сервера

  1. Установите зависимости:
1
npm install
  1. Запустите сервер:
1
node server.js

2. Настройка Nginx (если требуется)

  1. Добавьте конфигурацию в /etc/nginx/sites-enabled/site.conf.
  2. Перезапустите Nginx:
1
sudo systemctl restart nginx

Проект Quiz Analyzer — это удобный инструмент для анализа тестов, автоматического сохранения вопросов в базу данных и быстрого отображения правильных ответов на странице. 🚀

Скачать раcширение

Серверную часть вы можете получить $ написав мне в Телеграм.

Авторский пост защищен лицензией CC BY 4.0 .