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