Руководство программиста
Это руководство описывает полный цикл доработки платформы: от подготовки окружения до отправки изменений на проверку.
1. Подготовка окружения
- Установите необходимые инструменты:
- Git для работы с репозиторием.
- Node.js версии не ниже 18.13.0 и
npm. - Python 3.11 с
pip. - Склонируйте репозиторий:
bash git clone https://github.com/<ваш_форк>/platform.git cd platform - Установите зависимости фронтенда:
bash npm installЕсли установка зависимостей вызывает ошибки выполнения скриптов, используйтеnpm install --ignore-scripts. - Настройте виртуальное окружение для бэкенда и установите зависимости:
bash python -m venv venv source venv/bin/activate pip install -r backend/requirements.txt
2. Создание ветки
- Перед началом работ создайте отдельную ветку:
bash git checkout -b feature/my-change - Работайте только в созданной ветке, не коммитите напрямую в
main.
3. Внесение изменений
- Фронтенд хранится в каталоге
src/и написан на Svelte и TypeScript. - Бэкенд находится в
backend/и реализован на FastAPI. - Добавляйте комментарии и описания функций прямо в коде, следуя существующим примерам.
- При добавлении новых зависимостей обновляйте соответствующие файлы (
package.json,backend/requirements.txt).
4. Линтинг и форматирование
Перед коммитом обязательно запустите автоматические проверки:
npm run format # форматирование фронтенда и документации
npm run format:backend # форматирование Python-кода
npm run lint # общая проверка проекта
npm run check # проверка типов и Svelte-компонентов
5. Тестирование
- Запустите тесты фронтенда:
bash npm run test:frontend - При наличии тестов бэкенда выполните:
bash pytest - Убедитесь, что все проверки завершаются без ошибок.
6. Обновление документации
- При изменении поведения системы обновляйте Markdown-файлы в
docs/. - Для локального просмотра документации используйте:
bash mkdocs serve
7. Коммиты и Pull Request
- Сформируйте коммит с понятным сообщением:
bash git commit -am "feat: описание изменения" - Отправьте ветку в свой форк:
bash git push origin feature/my-change - Создайте Pull Request в основной репозиторий. В описании укажите цель изменения, связанные задачи и тесты.
- После одобрения PR не забудьте удалить рабочую ветку.
8. Collabora Online
Платформа использует контейнер Collabora Online для просмотра и редактирования офисных документов. Сервис запускается в отдельном Docker-контейнере (collabora), обычно доступном по порту 9980.
Базовый URL Collabora передаётся во фронтенд через переменную окружения VITE_COLLABORA_ONLINE_URL. Компонент CollaboraViewer открывает интерфейс Collabora во встроенном <iframe> и взаимодействует с нашим бэкендом через протокол WOPI.
Бэкенд реализует WOPI-хост: выдаёт документы по запросу, принимает изменения и обеспечивает авторизацию. Логи контейнера (docker logs collabora) помогают отлаживать обмен.
Такая архитектура позволяет разработчикам локально поднимать Collabora и сразу видеть рендеринг офисных файлов в браузере.
Следуя этому процессу, вы сможете вносить улучшения в платформу системно и предсказуемо.