Skip to content

Результаты по итерации проекта №23 #637

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions AI/diagrams/uml.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
```mermaid
classDiagram
direction BT

%% Базовые классы DIS
class DocumentProcessor {
<<Abstract>>
+process(document: Document): IntermediateFormat
+validate(): ValidationResult
}

class DISPipeline {
-processors: List~DocumentProcessor~
+addProcessor(processor: DocumentProcessor)
+run(document: Document): Report
}

class IntermediateFormat {
+data: Map~String, Object~
+addSection()
+addMetadata()
}

%% Существующие классы с заглушками
class LatexUploader {
+parse(content: String): IntermediateFormat
+handleIncludes()
}

class LatexProcessor {
-unarchiver: LatexProjectUnarchiver
-uploader: LatexUploader
+mergeProject()
+resolveDependencies()
}

class LatexProjectUnarchiver {
+unzip(archive: Blob): FileStructure
+validateStructure()
}

%% Дополнительные компоненты
class LaTeXValidator {
+checkSyntax()
+verifyTemplate()
}

class BibtexHandler {
+processCitations()
+crossCheckWithDB()
}

%% Наследование и связи
LatexProcessor --|> DocumentProcessor : Реализует интерфейс
LatexProcessor --> LatexProjectUnarchiver : Использует для распаковки
LatexProcessor --> LatexUploader : Использует для парсинга
LatexProcessor --> LaTeXValidator : Композиция
LatexProcessor --> BibtexHandler : Композиция
LatexUploader --> IntermediateFormat : Создает
DISPipeline --> LatexProcessor : Агрегация
LatexProjectUnarchiver --> FileStructure : Генерирует
BibtexHandler --> CitationDB : Зависимость

%% Новые связи для интеграции
Document <|-- LaTeXDocument
LatexUploader --> LaTeXDocument : Обрабатывает
FileStructure --> LaTeXDocument : Преобразуется в
```
27 changes: 27 additions & 0 deletions AI/diagrams/use_case.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
```mermaid
flowchart TD
subgraph Система[Модуль обработки LaTeX]
A1[Загрузить LaTeX-проект] --> A2[Разархивировать проект]
A2 --> A3[Собрать многофайловый проект]
A3 --> A4[Парсить документ]
A4 --> A5[Извлечь метаданные]
A4 --> A6[Анализировать структуру]
A4 --> A7[Обработать формулы]
A3 --> A8[Валидировать шаблон]
A3 --> A9[Обработать BibTeX]
A4 --> A10[Создать промежуточный формат]
A10 --> A11[Интегрировать с DIS]
A11 --> A12[Отобразить результаты]
end

subgraph Актеры
Пользователь -->|Инициирует| A1
DIS -->|Получает данные| A11
BibTeX-база -->|Предоставляет ссылки| A9
end

style Пользователь fill:#f9f,stroke:#333
style DIS fill:#9f9,stroke:#333
style BibTeX-база fill:#99f,stroke:#333
style Система fill:#fff,stroke:#333,stroke-width:2px
```
34 changes: 34 additions & 0 deletions AI/meetings/employer/17.02.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
встреча с заказчиком 17.02

вопросы:
- что такое промежуточный формат системы?
есть парсеры док, пдф и мд, делать по аналогии с ними

- есть ли документация в каком-то виде? можно ли где-то посмотреть как работает это приложение?
документации нет, есть вики https://github.com/moevm/document_insight_system/wiki, задание со звездочкой - дополнить вики и сделать доки

- где взять системный шаблон?
напомнить прислал пример шаблона латеха - как тестовые данные

- что ожидается после 1 итерации?
супер минимум - запустить проект
минимум - сделать парсер для латеха здесь https://github.com/moevm/document_insight_system/tree/master/app/main/reports - возможность загрузки документа латеха, который распарсится (загрузился, добавился в бд, задача со * - преобразовался в пдф), вместо проверки вставляем заглушку
максимум - многофайловые проекты (загрузка архива), документация модуля, интеграция в проверки, покрытие тестами
2 итерация: парсер прогоняется через основные проверки
3 и 4 итерации: хз, что останется)

- "логирование процесса обработки", что хотим логировать, как и куда?
стандартный логгинг (доступно через docker logs), несколько уровней, стандартные события, ошибки и дебаг (инфо о загруженном документе). Метрики скорости загрузки, обработки, прохождения проверок, размер документа.

- хотим ли сделать какой-то веб интерфейса для взаимодействия с сервисом?
в вебе делать особо нечего, если есть ярые фронтендеры, то можно попросить Иванова посмотреть issues, чтобы найти что-то подходящее

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

дополнительно:
возможно дадут часть задач на расширения проверок, если не будет хватать задач

созвоны с заказчиком:
окончания итераций, либо по необходимости, регулярок нет
1 change: 1 addition & 0 deletions AI/meetings/team/14.03.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Обсуждения не было, работа по плану
16 changes: 16 additions & 0 deletions AI/meetings/team/18.02.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Зоны ответственности:

Искен. Создает базовый класс самого парсера
Егор. Создает точку входа в вебе для этого парсера
Олег. После п.1 начинает интеграцию в проверки (составляет список необходимых доработок)
Рома. Создает класс для парса архива с проектом латеха
Паша. Создает проксю, которая берет все полученные данные из всех файлов и мержит их в одну внутреннюю сущность

Кирилл. Создает фичи (соответствуют зонам ответственности) и подзадачи с постановкой в каждой фиче, проводит ревью кода, при необходимости подключается к разработке

План на ближайшие дни:

- Отвести клон мастера
- Создать фичи и первые подзадачи (магистр)
- Запустить проект (все)
- Распределить зоны ответственности (бакалавры)
6 changes: 6 additions & 0 deletions AI/meetings/team/21.03.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
из того, что обсудили:
- теперь на борде еще есть столбец "Changes Requested", туда попадают задачи, которые я отсмотрел и в прке есть замечания. Когда они будут исправлены просто закидывайте обратно в "Need Review"
- как и писал ранее цель на эту итерацию - чтобы были по 2 прки от человека, желательно влитые

мне на подумать:
- придумать задачу Егору кроме тестов и логирования (возможно спросить у Иванова про бэклог)
16 changes: 16 additions & 0 deletions AI/meetings/team/25.02.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
вопросы:
- что такое собрать проект латех в один файл
обработать инклюды чтобы был контент в 1 файле (добавить в описание фичи)

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

сделать:
- добавить в вики страничку с общим описанием концепции проекта чтобы держать контекст
- разобраться с багом - скачивается битый архив
- найти пример проекта латекса (входные данные)

уточнить у заказчика
- надо ли сохранять промежуточную сущность проекта в бд
- надо спросить могу ли я дать доступ участникам к борде
- попросить пример шаблонного проекта
Binary file added AI/presentations/1_iteration.pptx
Binary file not shown.
Binary file added AI/presentations/2_iteration.pptx
Binary file not shown.
56 changes: 56 additions & 0 deletions reports.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Расширение Document Insight System для обработки LaTeX документов и проектов

## 1. Описание проекта
**Цель:** Добавить возможность обрабатывать и проверять отчеты в формате LaTeX в системе анализа документов **Document Insight System (DIS)**.

---

## 2. Функциональные требования

- Валидация базового синтаксиса LaTeX
- Конвертация LaTeX-документов в промежуточный формат системы
- Извлечение метаданных (авторы, дата, версия)
- Парсинг математических формул и специальных символов
- Поддержка работа с большими файлами и многофайловыми проектами
- Обработка библиографических ссылок (BibTeX)
- Анализ структуры документа (секции, подсекции, ссылки) с использованием существующего шаблона ВКР в LaTex
- Интеграция с существующим пайплайном обработки DIS (существующие проверки документов)
- Проверка на использование системного шаблона
- Логирование процессов обработки
- Покрытие тестами

---

## 3. Сценарии использования (User Stories)

1. **Загрузка отчета LaTeX**


2. **Корректная обработка**


3. **Преобразование в промежуточный формат системы**


4. **Проверка документа на соответствие требованиям**


5. **Вывод результатов в UI**

---

## Итерация 1

Артефакты первой встречи с заказчиком от [17.02](https://github.com/moevm/document_insight_system/blob/reports-latex/AI/meetings/employer/17.02.txt)

Артефакты встреч с командой от [18.02](https://github.com/moevm/document_insight_system/blob/reports-latex/AI/meetings/team/18.02.txt), [25.02](https://github.com/moevm/document_insight_system/blob/reports-latex/AI/meetings/team/24.02.txt)

Презентация по результатам [первой итерации](https://github.com/moevm/document_insight_system/blob/reports-latex/AI/presentations/1_iteration.pptx)

## Итерация 2

Созданы в формате [mermaid](https://mermaid.live/) диаграмы [Use Case](https://github.com/moevm/document_insight_system/blob/reports-latex/AI/diagrams/use_case.md), [UML](https://github.com/moevm/document_insight_system/blob/reports-latex/AI/diagrams/uml.md)

Артефакты встреч с командой от [14.03](https://github.com/moevm/document_insight_system/blob/reports-latex/AI/meetings/team/14.03.txt), [21.03](https://github.com/moevm/document_insight_system/blob/reports-latex/AI/meetings/team/21.03.txt)

Презентация по результатам [второй итерации](https://github.com/moevm/document_insight_system/blob/reports-latex/AI/presentations/2_iteration.pptx)