Quiz Analyzer - расширение для браузера, для тестов ТУСУР
В данной статье я расскажу о том как я делал расширение для браузера которое поможет с прохождением тестов ТУСУР
Quiz Analyzer — это браузерное расширение, предназначенное для автоматического анализа тестов на веб-страницах, извлечения вопросов и правильных ответов, а также их сохранения в базе данных MySQL через сервер на Node.js.
Прохождение теста, если нажать на кнопку Показать ответы
Основные функции
Расширение добавляет две основные кнопки:
- “Анализ теста” (красная кнопка) — извлекает вопросы и правильные ответы со страницы теста и отправляет их на сервер.
- “Показать ответы” (зеленая кнопка) — отображает правильные ответы под соответствующими вопросами на странице.
Компоненты проекта
1. Браузерное расширение
Состоит из следующих файлов:
- manifest.json — конфигурация расширения для браузера.
- content.js — основной скрипт, который выполняется на страницах с тестами, извлекает вопросы и ответы.
- popup.html — всплывающее окно расширения с кнопкой “Анализировать тест”.
- popup.js — логика работы всплывающего окна.
- styles.css — стили для всплывающего окна.
Как работает расширение?
- При загрузке тестовой страницы скрипт
content.js
добавляет кнопки “Анализ теста” и “Показать ответы”. - По нажатию “Анализ теста”:
- Извлекаются все вопросы и правильные ответы.
- Проверяется, отмечен ли ответ как “Верно”.
- Если вопроса еще нет в базе данных, он отправляется на сервер.
- По нажатию “Показать ответы”:
- Под каждым вопросом добавляется текст “Правильный ответ: …” с найденным верным ответом.
Как установить и запустить?
1. Установка браузерного расширения
- Откройте Chrome, перейдите по адресу
chrome://extensions/
. - Включите “Режим разработчика”.
- Нажмите “Загрузить распакованное расширение” и выберите папку с файлами (manifest.json, content.js и т.д.).
Серверная часть (Node.js + MySQL)
Компоненты сервера
1. Серверная часть (Node.js + MySQL)
Файлы сервера:
- server.js — основной сервер на Node.js, который принимает данные от расширения и сохраняет их в базу.
- db.js — подключение к MySQL.
- package.json — Стили.
Как работает сервер?
- Принимает данные от расширения по маршруту
/save-quiz
. - Проверяет, есть ли уже такой вопрос в базе.
- Если вопроса нет — добавляет его с правильным ответом.
- Отправляет ответ расширению с результатом сохранения.
3. База данных (MySQL)
Содержит таблицу quiz_data
с полями:
- id (автоинкрементный идентификатор)
- question (текст вопроса)
- answer (правильный ответ)
При анализе теста сервер проверяет, есть ли уже такой вопрос, и добавляет его только в случае отсутствия.
4. Проксирование запросов через Nginx
На сервере используется Nginx для перенаправления запросов с https://site.ru/save-quiz
на локальный сервер Node.js (ip:3000).
Назначение проекта
- Автоматизация анализа тестов — не нужно вручную копировать вопросы и правильные ответы.
- Сохранение в базе данных — можно собирать базу вопросов и ответов для обучения.
- Быстрый доступ к ответам — кнопка “Показать ответы” помогает в проверке тестов.
Как установить и запустить?
1. Запуск сервера
- Установите зависимости:
1
npm install
- Запустите сервер:
1
node server.js
2. Настройка Nginx (если требуется)
- Добавьте конфигурацию в
/etc/nginx/sites-enabled/site.conf
. - Перезапустите Nginx:
1
sudo systemctl restart nginx
Проект Quiz Analyzer — это удобный инструмент для анализа тестов, автоматического сохранения вопросов в базу данных и быстрого отображения правильных ответов на странице. 🚀
Серверную часть вы можете получить $ написав мне в Телеграм.