ytds
Проект представляет собой
Облачный инструмент для поиска документов, который позволяет осуществлять полнотекстовый поиск в документах различных форматов: PDF, Word, Excel, PPT и других. Для индексации документов используется Elasticsearch, а для реализации полнотекстового поиска — API Elasticsearch. LibreOffice используется для преобразования документов в формат PDF с целью обеспечения функции предварительного просмотра онлайн.
Проект также включает в себя функции статистики личных документов, управления ими и обеспечения конфиденциальности и безопасности данных. Каждый пользователь имеет свой собственный аккаунт, что обеспечивает разделение и защиту личных данных.
ytds расшифровывается как: yt (Юту) ds (Документный поиск).
Используемые технологии и фреймворки
В проекте используются следующие технологии и инструменты: Springboot, MySQL, Elasticsearch, Spring, Vue, Element-UI, LibreOffice.
Функционал проекта
-
Авторизация пользователей: пользователи могут зарегистрироваться через свою электронную почту.
-
Полнотекстовый поиск: предоставляет возможность поиска по всему содержимому документа, в отличие от поиска по ключевым словам. Поддерживает различные условия поиска, такие как временные рамки, типы документов и их размеры.
-
Загрузка документов: поддерживает загрузку документов различных форматов, включая Word, PDF, Excel и PPT.
-
Импорт из заметок Impress: позволяет импортировать документы из файлов формата enex, созданных в программе Impress.
-
Управление личными документами: пользователи могут управлять своими документами, включая их статистику, удаление и просмотр.
-
Онлайн-просмотр документов: большинство загруженных документов можно просматривать онлайн, включая те, которые были импортированы из заметок Impress. Просмотр осуществляется путём преобразования документов в PDF с помощью LibreOffice и использования pdf.js.
-
Скачивание оригинальных документов.
Планы на будущее
- Добавить поддержку редактирования документов с использованием текстовых редакторов.
- Разработать мобильную версию проекта (ytds-mobile), доступную на мобильных устройствах и в мини-приложениях.
- Создать настольное приложение (ytds-electron), которое будет отслеживать изменения в файловой системе и автоматически синхронизировать обновлённые документы.
Инструкция по установке
Установка бэкенда ytds
- Скачайте Elasticsearch с официального сайта.
- Установите анализатор IK для Elasticsearch, следуя инструкциям на GitHub.
- Установите LibreOffice, следуя указаниям для вашей операционной системы.
- Откройте папку с SQL-файлами и импортируйте файл ytds.sql в базу данных MySQL.
- Измените файл конфигурации application.xml, указав необходимые параметры для работы с Elasticsearch, LibreOffice и другими компонентами.
- Запустите Elasticsearch и MySQL.
- Запустите приложение YTDSApplication.
Установка фронтенда ytds
- Перейдите в проект ytds-fontend и выполните команду npm install для установки зависимостей.
- Запустите команду npm run dev для запуска сервера разработки.
- В файле config/index.js измените порт прокси-сервера.
- Выполните команду npm run build для компиляции кода.
- В файле application.yml проекта ytds-fontend укажите путь к статическим файлам.
Руководство по использованию
- После успешного запуска бэкенда запустите фронтенд с помощью команды npm run dev.
- Откройте браузер и перейдите по адресу localhost:8080.
- Используйте логин admin и пароль yt520 для входа в систему.
- Загрузите документы для последующего поиска.
Примеры страниц
- Страница поиска: позволяет выполнять поиск по документам.
- Страница загрузки документов: предоставляет возможность загружать документы различных форматов.
- Страница «Мои документы»: отображает список документов пользователя и позволяет управлять ими.
- Импорт из заметок Impress: позволяет импортировать файлы формата enex.
Участие в проекте
Для участия в разработке проекта необходимо выполнить следующие шаги:
- Форк проекта.
- Создайте ветку dev.
- Внесите изменения в код.
- Отправьте запрос на слияние (Pull Request).
Комментарии ( 0 )