Skip to content

Repository files navigation

docfront-app

Клиентское приложение DocAI — система предзащитной проверки пакетов программной документации (ТЗ / ПМИ / ПЗ / ВКР).

Стек

  • Vue 3 + Composition API
  • Quasar 2
  • Vue Router
  • Pinia
  • Axios

Требования

  • Node.js 20+
  • npm 9+
  • Запущенный docback на localhost:8080

Быстрый старт

npm install
cp .env.example .env
npm run dev

Dev-сервер доступен на http://localhost:9000.

Переменные окружения

# .env.example
VITE_API_BASE_URL=http://localhost:8080

Если переменная не задана, используется http://localhost:8080 (дефолт в src/boot/axios.js).

Скрипты

Команда Описание
npm run dev Dev-сервер с hot-reload
npm run build Production-сборка в dist/
npm run lint ESLint
npm run format Prettier
npm test Vitest unit-тесты

Маршруты приложения

Путь Компонент Описание
/login LoginPage.vue Вход по логину/email + паролю
/register RegisterPage.vue Регистрация
/packages PackagesPage.vue Список пакетов, создание нового
/packages/:id PackageCheckPage.vue Запуск проверки, вкладки A / B / C, PDF-отчёт
/profiles ProfilesPage.vue Список профилей ГОСТ

Приватные маршруты требуют авторизации. При 401 сессия сбрасывается, пользователь перенаправляется на /login?next=....

Функциональность

Пакеты документов

  • Создание пакета с произвольным набором DOCX/PDF-файлов
  • Запуск полного pipeline: Prepare → A-quality → B-quality → C-quality
  • Polling статуса проверки
  • Скачивание пакета (оригиналы + отчёты) одним ZIP-архивом

Отчёт (PackageCheckPage)

  • Вкладка A — структурная полнота по ГОСТ 19.x: найденные / пропущенные разделы, оценка completeness
  • Вкладка B — дефекты формулировок: B1 (неоднозначность), B2 (непроверяемость), B3 (неатомарность) с подсветкой проблемных фрагментов
  • Вкладка C — согласованность ТЗ ↔ ПМИ/ПЗ: статусы COVERED / PARTIAL / MISSING / CONFLICT / UNKNOWN с объяснениями LLM
  • Вкладка Требования — сгруппированные требования ТЗ с кандидатами ПМИ/ПЗ
  • Печать / экспорт в PDF через браузерный window.print()

Авторизация

  • JWT access-токен хранится в localStorage (ключ docback_auth)
  • Refresh-токен не хранится на клиенте; при истечении access-токена пользователь проходит re-login
  • Axios-интерцептор автоматически добавляет Authorization: Bearer ... ко всем запросам

Структура src/

src/
├── api/
│   └── docback.js             # все API-вызовы к backend
├── boot/
│   └── axios.js               # настройка Axios + интерцепторы
├── components/
│   ├── CQualityView.vue       # вкладка C-quality
│   ├── CreateModal.vue        # диалог создания пакета
│   ├── PackageReportView.vue  # агрегированный отчёт + PDF-печать
│   └── RequirementsTab.vue    # вкладка «Требования»
├── pages/
│   ├── PackageCheckPage.vue   # главная страница проверки
│   └── PackagesPage.vue       # список пакетов
├── stores/
│   └── auth.js                # Pinia store авторизации
└── router/
    └── routes.js

Тесты

npm test

Тесты находятся в src/components/__tests__/. Покрывают логику reportViewModel.js — форматирование отчёта и фильтрацию внутренних диагностических меток из объяснений LLM.

About

Vue frontend service for Software Documentation Review

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages