Documentation

    📚 Documentation

    AI Research Assistant
    Citations & References
    Collaboration
    First Success Validation
    Getting Started
    Pricing
    Research Tools
    Support
    Документація Connect.Software
    Дорожня карта розробки
    Ласкаво просимо до Connect.Software
    Налаштування облікового запису
    Написання та редагування
    Науковий редактор
    Фаза 1: Фундамент
    Фаза 2: Покращення наукового редактора
    Фаза 3: Менеджер цитат та бібліографії
    Фаза 4: Спільна робота в реальному часі
    Фаза 5: AI-асистент для досліджень
    Фаза 6: Публікація та експорт

    Documentation

    📚 Documentation

    AI Research Assistant
    Citations & References
    Collaboration
    First Success Validation
    Getting Started
    Pricing
    Research Tools
    Support
    Документація Connect.Software
    Дорожня карта розробки
    Ласкаво просимо до Connect.Software
    Налаштування облікового запису
    Написання та редагування
    Науковий редактор
    Фаза 1: Фундамент
    Фаза 2: Покращення наукового редактора
    Фаза 3: Менеджер цитат та бібліографії
    Фаза 4: Спільна робота в реальному часі
    Фаза 5: AI-асистент для досліджень
    Фаза 6: Публікація та експорт

    Documentation

    📚 Documentation

    AI Research Assistant
    Citations & References
    Collaboration
    First Success Validation
    Getting Started
    Pricing
    Research Tools
    Support
    Документація Connect.Software
    Дорожня карта розробки
    Ласкаво просимо до Connect.Software
    Налаштування облікового запису
    Написання та редагування
    Науковий редактор
    Фаза 1: Фундамент
    Фаза 2: Покращення наукового редактора
    Фаза 3: Менеджер цитат та бібліографії
    Фаза 4: Спільна робота в реальному часі
    Фаза 5: AI-асистент для досліджень
    Фаза 6: Публікація та експорт

    Науковий редактор

    Науковий редактор Connect.Software — це редактор форматованого тексту на базі Tiptap для академічного письма. Він підтримує формули LaTeX, автоматичне збереження, історію версій та збереження публікацій через шар бази даних Ring Platform.

    Статус: Фаза 2 (спринти 2.1–2.3) завершені. Підтримка рисунків/таблиць та експорт заплановані в спринтах 2.4–2.5.


    Огляд

    МожливістьОпис
    Форматований текстЗаголовки (H1–H6), жирний, курсив, підкреслення, списки, цитати, блоки коду, таблиці, посилання, зображення
    LaTeXІнлайн та блокові формули через KaTeX; модальне вікно формул з попереднім переглядом та шаблонами
    АвтозбереженняЗбереження з затримкою 30 с; перше збереження створює публікацію, далі оновлення через PUT
    Історія версійЗнімки та відновлення версій; список версій з датами та опційними описами
    ПублікаціїВміст зберігається як Tiptap JSON; завантаження за або створення нового

    Науковий редактор

    Науковий редактор Connect.Software — це редактор форматованого тексту на базі Tiptap для академічного письма. Він підтримує формули LaTeX, автоматичне збереження, історію версій та збереження публікацій через шар бази даних Ring Platform.

    Статус: Фаза 2 (спринти 2.1–2.3) завершені. Підтримка рисунків/таблиць та експорт заплановані в спринтах 2.4–2.5.


    Огляд

    МожливістьОпис
    Форматований текстЗаголовки (H1–H6), жирний, курсив, підкреслення, списки, цитати, блоки коду, таблиці, посилання, зображення
    LaTeXІнлайн та блокові формули через KaTeX; модальне вікно формул з попереднім переглядом та шаблонами
    АвтозбереженняЗбереження з затримкою 30 с; перше збереження створює публікацію, далі оновлення через PUT
    Історія версійЗнімки та відновлення версій; список версій з датами та опційними описами
    ПублікаціїВміст зберігається як Tiptap JSON; завантаження за або створення нового

    Науковий редактор

    Науковий редактор Connect.Software — це редактор форматованого тексту на базі Tiptap для академічного письма. Він підтримує формули LaTeX, автоматичне збереження, історію версій та збереження публікацій через шар бази даних Ring Platform.

    Статус: Фаза 2 (спринти 2.1–2.3) завершені. Підтримка рисунків/таблиць та експорт заплановані в спринтах 2.4–2.5.


    Огляд

    МожливістьОпис
    Форматований текстЗаголовки (H1–H6), жирний, курсив, підкреслення, списки, цитати, блоки коду, таблиці, посилання, зображення
    LaTeXІнлайн та блокові формули через KaTeX; модальне вікно формул з попереднім переглядом та шаблонами
    АвтозбереженняЗбереження з затримкою 30 с; перше збереження створює публікацію, далі оновлення через PUT
    Історія версійЗнімки та відновлення версій; список версій з датами та опційними описами
    ПублікаціїВміст зберігається як Tiptap JSON; завантаження за або створення нового
    ?id=...
    ?id=...
    ?id=...



    Можливості редактора

    Можливості редактора

    Можливості редактора

    Форматований текст (Tiptap)

    Форматований текст (Tiptap)

    Форматований текст (Tiptap)

    Редактор використовує Tiptap з StarterKit та розширеннями для наукового письма:

    Редактор використовує Tiptap з StarterKit та розширеннями для наукового письма:

    Редактор використовує Tiptap з StarterKit та розширеннями для наукового письма:

    • Форматування: Жирний, курсив, підкреслення, закреслення, надрядковий, підрядковий, виділення
    • Структура: Заголовки H1–H6, нумеровані/марковані списки, блокові цитати
    • Блоки: Блоки коду (підсвітка через lowlight), таблиці (рядки, стовпці, заголовок)
    • Інлайн: Посилання, зображення (підтримка placeholder)
    • Типографіка: Розумні лапки та покращення типографіки
    • Форматування: Жирний, курсив, підкреслення, закреслення, надрядковий, підрядковий, виділення
    • Структура: Заголовки H1–H6, нумеровані/марковані списки, блокові цитати
    • Блоки: Блоки коду (підсвітка через lowlight), таблиці (рядки, стовпці, заголовок)
    • Інлайн: Посилання, зображення (підтримка placeholder)
    • Типографіка: Розумні лапки та покращення типографіки
    • Форматування: Жирний, курсив, підкреслення, закреслення, надрядковий, підрядковий, виділення
    • Структура: Заголовки H1–H6, нумеровані/марковані списки, блокові цитати
    • Блоки: Блоки коду (підсвітка через lowlight), таблиці (рядки, стовпці, заголовок)
    • Інлайн: Посилання, зображення (підтримка placeholder)
    • Типографіка: Розумні лапки та покращення типографіки

    Вміст зберігається як Tiptap JSON у полі публікації content; редактор приймає початковий вміст як рядок HTML або JSON для завантаження збережених публікацій.

    Вміст зберігається як Tiptap JSON у полі публікації content; редактор приймає початковий вміст як рядок HTML або JSON для завантаження збережених публікацій.

    Вміст зберігається як Tiptap JSON у полі публікації content; редактор приймає початковий вміст як рядок HTML або JSON для завантаження збережених публікацій.

    Формули LaTeX

    Формули LaTeX

    Формули LaTeX

    • Блокові формули: Вставка формул у режимі display через панель (іконка калькулятора) або модальне вікно формул.
    • Відображення: KaTeX рендерить формули в редакторі; клік для редагування відкриває модальне вікно.
    • Модальне вікно: Поле LaTeX, перемикач display/inline, попередній перегляд, кнопки шаблонів (дріб, сума, інтеграл, матриця), Вставити/Скасувати.
    • Блокові формули: Вставка формул у режимі display через панель (іконка калькулятора) або модальне вікно формул.
    • Відображення: KaTeX рендерить формули в редакторі; клік для редагування відкриває модальне вікно.
    • Модальне вікно: Поле LaTeX, перемикач display/inline, попередній перегляд, кнопки шаблонів (дріб, сума, інтеграл, матриця), Вставити/Скасувати.
    • Блокові формули: Вставка формул у режимі display через панель (іконка калькулятора) або модальне вікно формул.
    • Відображення: KaTeX рендерить формули в редакторі; клік для редагування відкриває модальне вікно.
    • Модальне вікно: Поле LaTeX, перемикач display/inline, попередній перегляд, кнопки шаблонів (дріб, сума, інтеграл, матриця), Вставити/Скасувати.

    Формули зберігаються як власні вузли Tiptap (mathBlock) з атрибутами latex та display.

    Формули зберігаються як власні вузли Tiptap (mathBlock) з атрибутами latex та display.

    Формули зберігаються як власні вузли Tiptap (mathBlock) з атрибутами latex та display.

    Автозбереження та публікації

    Автозбереження та публікації

    Автозбереження та публікації

    • Новий документ: Немає ?id= у URL; перше «Зберегти» або перше автозбереження створює публікацію через POST /api/publications і встановлює id публікації для подальших збережень.
    • Існуючий документ: Відкрити з ?id=<publicationId>; сторінка завантажує публікацію і встановлює заголовок та вміст (JSON). Автозбереження та ручне «Зберегти» використовують PUT /api/publications/:id.
    • Затримка: Зміни заголовка або вмісту запускають збереження з затримкою 30 с; ручне «Зберегти» виконує збереження одразу.
    • Індикатор збереження: На панелі відображається «Збережено» з часом останнього успішного збереження.
    • Новий документ: Немає ?id= у URL; перше «Зберегти» або перше автозбереження створює публікацію через POST /api/publications і встановлює id публікації для подальших збережень.
    • Існуючий документ: Відкрити з ?id=<publicationId>; сторінка завантажує публікацію і встановлює заголовок та вміст (JSON). Автозбереження та ручне «Зберегти» використовують PUT /api/publications/:id.
    • Затримка: Зміни заголовка або вмісту запускають збереження з затримкою 30 с; ручне «Зберегти» виконує збереження одразу.
    • Індикатор збереження: На панелі відображається «Збережено» з часом останнього успішного збереження.
    • Новий документ: Немає ?id= у URL; перше «Зберегти» або перше автозбереження створює публікацію через POST /api/publications і встановлює id публікації для подальших збережень.
    • Існуючий документ: Відкрити з ?id=<publicationId>; сторінка завантажує публікацію і встановлює заголовок та вміст (JSON). Автозбереження та ручне «Зберегти» використовують PUT /api/publications/:id.
    • Затримка: Зміни заголовка або вмісту запускають збереження з затримкою 30 с; ручне «Зберегти» виконує збереження одразу.
    • Індикатор збереження: На панелі відображається «Збережено» з часом останнього успішного збереження.

    Історія версій

    Історія версій

    Історія версій

    • Панель: Кнопка «Історія версій» на панелі відкриває діалог зі списком версій (номер версії, дата, опційний опис).
    • Знімок: «Зберегти знімок» створює нову версію з поточним вмістом (опційний опис змін).
    • Відновити: «Відновити» для версії оновлює вміст публікації до цієї версії та перезавантажує редактор; панель закривається, редактор показує відновлений вміст.
    • Панель: Кнопка «Історія версій» на панелі відкриває діалог зі списком версій (номер версії, дата, опційний опис).
    • Знімок: «Зберегти знімок» створює нову версію з поточним вмістом (опційний опис змін).
    • Відновити: «Відновити» для версії оновлює вміст публікації до цієї версії та перезавантажує редактор; панель закривається, редактор показує відновлений вміст.
    • Панель: Кнопка «Історія версій» на панелі відкриває діалог зі списком версій (номер версії, дата, опційний опис).
    • Знімок: «Зберегти знімок» створює нову версію з поточним вмістом (опційний опис змін).
    • Відновити: «Відновити» для версії оновлює вміст публікації до цієї версії та перезавантажує редактор; панель закривається, редактор показує відновлений вміст.



    Архітектура

    Архітектура

    Архітектура

    Схема публікацій

    Схема публікацій

    Схема публікацій

    Публікації та версії використовують абстракцію бази даних Ring Platform (PostgreSQL з JSONB):

    Публікації та версії використовують абстракцію бази даних Ring Platform (PostgreSQL з JSONB):

    Публікації та версії використовують абстракцію бази даних Ring Platform (PostgreSQL з JSONB):

    • publications: id, data (JSONB), created_at, updated_at.
      data містить: user_id, title, content (Tiptap JSON), status, template_id.
    • publication_versions: id, data (JSONB), created_at, updated_at.
      data містить: publication_id, version_number, content, change_summary, created_by.
    • publications: id, data (JSONB), created_at, updated_at.
      data містить: user_id, title, content (Tiptap JSON), status, template_id.
    • publication_versions: id, data (JSONB), created_at, updated_at.
      data містить: publication_id, version_number, content, change_summary, created_by.
    • publications: id, data (JSONB), created_at, updated_at.
      data містить: user_id, title, content (Tiptap JSON), status, template_id.
    • publication_versions: id, data (JSONB), created_at, updated_at.
      data містить: publication_id, version_number, content, change_summary, created_by.

    Схема визначена в data/schema.sql; адаптер PostgreSQL має fieldMappings для обох колекцій.

    Схема визначена в data/schema.sql; адаптер PostgreSQL має fieldMappings для обох колекцій.

    Схема визначена в data/schema.sql; адаптер PostgreSQL має fieldMappings для обох колекцій.

    Потік збереження

    Потік збереження

    Потік збереження

    Потік історії версій

    Потік історії версій

    Потік історії версій

    API-маршрути

    API-маршрути

    API-маршрути

    МетодШляхОпис
    GET/api/publicationsСписок публікацій поточного користувача
    POST/api/publicationsСтворити публікацію (body: title, content, status, template_id)
    GET/api/publications/[id]Отримати публікацію (перевірка власності)
    PUT/api/publications/[id]Оновити публікацію (перевірка власності)
    DELETE/api/publications/[id]Видалити публікацію (перевірка власності)
    GET/api/publications/[id]/versionsСписок версій публікації
    POST/api/publications/[id]/versionsЗнімок (action: snapshot) або відновлення (action: restore, versionId)
    МетодШляхОпис
    GET/api/publicationsСписок публікацій поточного користувача
    POST/api/publicationsСтворити публікацію (body: title, content, status, template_id)
    GET/api/publications/[id]Отримати публікацію (перевірка власності)
    PUT/api/publications/[id]Оновити публікацію (перевірка власності)
    DELETE/api/publications/[id]Видалити публікацію (перевірка власності)
    GET/api/publications/[id]/versionsСписок версій публікації
    POST/api/publications/[id]/versionsЗнімок (action: snapshot) або відновлення (action: restore, versionId)
    МетодШляхОпис
    GET/api/publicationsСписок публікацій поточного користувача
    POST/api/publicationsСтворити публікацію (body: title, content, status, template_id)
    GET/api/publications/[id]Отримати публікацію (перевірка власності)
    PUT/api/publications/[id]Оновити публікацію (перевірка власності)
    DELETE/api/publications/[id]Видалити публікацію (перевірка власності)
    GET/api/publications/[id]/versionsСписок версій публікації
    POST/api/publications/[id]/versionsЗнімок (action: snapshot) або відновлення (action: restore, versionId)

    Усі маршрути потребують автентифікації; для get/update/delete та версій перевіряється власність.

    Усі маршрути потребують автентифікації; для get/update/delete та версій перевіряється власність.

    Усі маршрути потребують автентифікації; для get/update/delete та версій перевіряється власність.




    Ключові файли

    Ключові файли

    Ключові файли

    ОбластьШлях
    Сторінка редактораapp/(authenticated)/[locale]/editor/page.tsx
    Науковий редакторcomponents/editor/scientific-editor.tsx
    Панель інструментівcomponents/editor/editor-toolbar.tsx
    Розширення LaTeXcomponents/editor/extensions/latex-extension.tsx
    Модальне вікно формулcomponents/editor/equation-editor.tsx
    Панель історії версійcomponents/editor/version-history-panel.tsx
    Хук автозбереженняhooks/use-auto-save.ts
    Типи публікаційfeatures/publications/types/index.ts
    Сервіс публікаційfeatures/publications/services/publication-service.ts
    API-маршрутиapp/(public)/api/publications/
    ОбластьШлях
    Сторінка редактораapp/(authenticated)/[locale]/editor/page.tsx
    Науковий редакторcomponents/editor/scientific-editor.tsx
    Панель інструментівcomponents/editor/editor-toolbar.tsx
    Розширення LaTeXcomponents/editor/extensions/latex-extension.tsx
    Модальне вікно формулcomponents/editor/equation-editor.tsx
    Панель історії версійcomponents/editor/version-history-panel.tsx
    Хук автозбереженняhooks/use-auto-save.ts
    Типи публікаційfeatures/publications/types/index.ts
    Сервіс публікаційfeatures/publications/services/publication-service.ts
    API-маршрутиapp/(public)/api/publications/
    ОбластьШлях
    Сторінка редактораapp/(authenticated)/[locale]/editor/page.tsx
    Науковий редакторcomponents/editor/scientific-editor.tsx
    Панель інструментівcomponents/editor/editor-toolbar.tsx
    Розширення LaTeXcomponents/editor/extensions/latex-extension.tsx
    Модальне вікно формулcomponents/editor/equation-editor.tsx
    Панель історії версійcomponents/editor/version-history-panel.tsx
    Хук автозбереженняhooks/use-auto-save.ts
    Типи публікаційfeatures/publications/types/index.ts
    Сервіс публікаційfeatures/publications/services/publication-service.ts
    API-маршрутиapp/(public)/api/publications/



    Використання

    Використання

    Використання

    Відкриття редактора

    Відкриття редактора

    Відкриття редактора

    • Нова публікація: Перейдіть на /editor (або /[locale]/editor). Редактор завантажується з типовим науковим шаблоном; id публікації встановлюється при першому збереженні.
    • Існуюча публікація: Перейдіть на /editor?id=<publicationId>. Сторінка отримує публікацію та встановлює заголовок і вміст (Tiptap JSON) в редакторі.
    • Нова публікація: Перейдіть на /editor (або /[locale]/editor). Редактор завантажується з типовим науковим шаблоном; id публікації встановлюється при першому збереженні.
    • Існуюча публікація: Перейдіть на /editor?id=<publicationId>. Сторінка отримує публікацію та встановлює заголовок і вміст (Tiptap JSON) в редакторі.
    • Нова публікація: Перейдіть на /editor (або /[locale]/editor). Редактор завантажується з типовим науковим шаблоном; id публікації встановлюється при першому збереженні.
    • Існуюча публікація: Перейдіть на /editor?id=<publicationId>. Сторінка отримує публікацію та встановлює заголовок і вміст (Tiptap JSON) в редакторі.

    Збереження

    Збереження

    Збереження

    • Вручну: Натисніть Зберегти на панелі. Для нового документу це створює публікацію та встановлює id; для існуючого — оновлення через PUT.
    • Автозбереження: Через 30 секунд без змін поточний заголовок та вміст зберігаються автоматично (POST для нового, PUT для існуючого).
    • Вручну: Натисніть Зберегти на панелі. Для нового документу це створює публікацію та встановлює id; для існуючого — оновлення через PUT.
    • Автозбереження: Через 30 секунд без змін поточний заголовок та вміст зберігаються автоматично (POST для нового, PUT для існуючого).
    • Вручну: Натисніть Зберегти на панелі. Для нового документу це створює публікацію та встановлює id; для існуючого — оновлення через PUT.
    • Автозбереження: Через 30 секунд без змін поточний заголовок та вміст зберігаються автоматично (POST для нового, PUT для існуючого).

    Історія версій

    Історія версій

    Історія версій

    1. Натисніть Історія версій (іконка історії) на панелі.
    2. Використовуйте Зберегти знімок, щоб створити нову версію з поточним вмістом.
    3. Використовуйте Відновити для версії, щоб встановити вміст публікації на цю версію та перезавантажити редактор.
    1. Натисніть Історія версій (іконка історії) на панелі.
    2. Використовуйте Зберегти знімок, щоб створити нову версію з поточним вмістом.
    3. Використовуйте Відновити для версії, щоб встановити вміст публікації на цю версію та перезавантажити редактор.
    1. Натисніть Історія версій (іконка історії) на панелі.
    2. Використовуйте Зберегти знімок, щоб створити нову версію з поточним вмістом.
    3. Використовуйте Відновити для версії, щоб встановити вміст публікації на цю версію та перезавантажити редактор.
    Порада

    Відновлення не видаляє версії; воно оновлює вміст публікації, історія версій залишається.

    Порада

    Відновлення не видаляє версії; воно оновлює вміст публікації, історія версій залишається.

    Порада

    Відновлення не видаляє версії; воно оновлює вміст публікації, історія версій залишається.




    Дорожня карта (залишок фази 2)

    Дорожня карта (залишок фази 2)

    Дорожня карта (залишок фази 2)

    • Спринт 2.4: Компонент завантаження рисунків, покращення редактора таблиць, розширення перехресних посилань, інтеграція FileService для зображень.
    • Спринт 2.5: Сервіси експорту (PDF, Word, Markdown), діалог експорту, кнопка та скорочення експорту.
    • Спринт 2.4: Компонент завантаження рисунків, покращення редактора таблиць, розширення перехресних посилань, інтеграція FileService для зображень.
    • Спринт 2.5: Сервіси експорту (PDF, Word, Markdown), діалог експорту, кнопка та скорочення експорту.
    • Спринт 2.4: Компонент завантаження рисунків, покращення редактора таблиць, розширення перехресних посилань, інтеграція FileService для зображень.
    • Спринт 2.5: Сервіси експорту (PDF, Word, Markdown), діалог експорту, кнопка та скорочення експорту.

    Детальний розклад спрингів: Фаза 2: Покращення наукового редактора.

    Детальний розклад спрингів: Фаза 2: Покращення наукового редактора.

    Детальний розклад спрингів: Фаза 2: Покращення наукового редактора.

    Схемаdata/schema.sql
    Схемаdata/schema.sql
    Схемаdata/schema.sql