Реферат 2
Введение 4
1 Анализ предметной области 6
1.1 Актуальность и цель работы 6
1.2 Анализ существующих решений 6
1.2.1 Сервис по конвертации pdf-файлов “I love pdf’ 6
1.2.2 Сервис по конвертации pdf-файлов “pdf 2 go’ 9
1.2.3 Сервис по конвертации pdf-файлов “small pdf ” 11
1.3 Определение требований к системе 12
1.4 Выбор инструментов разработки 13
1.4.1 Проектирование архитектуры сервиса 13
1.4.2 Разработка серверной части 14
1.5 Методология разработки 15
1.6 Выводы по разделу 16
2 Управление и проектирование 18
2.1 Управление задачами и коммуникация 18
2.2 Система контроля версий 21
2.3 Архитектура веб-сервиса 24
2.4 API веб-сервиса 25
2.5 Диаграммы вариантов использования 26
2.6 Выводы по разделу 28
3 Разработка серверной части веб-сервиса 30
3.1 Структура проекта и зависимости 30
3.2 Представление данных 33
3.3 Разработка 36
3.3.1 Регистрация, авторизация, аутентификация 36
3.3.2 Работа c pdf-файлами 40
3.3.3 Конвертация файлов 43
3.4 Вывод по разделу 45
Заключение 46
Список использованных источников 47
На данный момент времени формат PDF [1] является самым надежным средством представления информации. Формат PDF гарантирует, что шрифты, изображения, графики и форматирование исходного файла останутся неизменными даже со сменной версии PDF.
Из плюсов PDF вытекают и минусы, такие как: не возможность изменить PDF-файл стандартными средствами или восстановить исходный файл. Поэтому приходится постоянно хранить два экземпляра файла, что в свою очередь приводит к путанице и риску потери исходного файла.
Конечно, существует множество сервисов предоставляющих доступ к конвертации pdf-файлов, таких как ilovepdf [2], pdf2go [3], smallpdf [4] и т.д. Данные сервисы могут решить одну из проблем, но и добавить другую, а именно конфиденциальность файлов. Дело в том, что серверы данных сервисов находятся в других странах (не в России). К тому же для хранения файлов приходится использовать другие сервисы. Что так же приводит к риску компрометации файлов.
Таким образом, появляется цель разработать серверную часть веб-сервис для хранения и конвертации pdf-файлов, который будет размещен на серверах, находящихся в России.
Интерфейс веб-сервиса будет выполнен с учетом UX/UI (UX — это функционал интерфейса, UI — его внешний вид) дизайна. Также интерфейс должен быть адаптивным и доступным на большинстве устройств.
Конвертация будет представлять собой набор функций, таких как: конвертация pdf-файла в jpg-файлы и docx-файл [5], создание pdf-файла из jpg- файлов, объединение pdf-файлов в один, разделение pdf-файла на несколько, хранение pdf-файлов (соответственно просмотр, скачивание и загрузка).
Архитектура сервиса будет client side rendering с использованием API, предоставленным сервером. То есть проект будет представлять собой две части: Front-end и Back-end.
Для разработки веб-сервиса будут использоваться новейшие технологии. Для Front-end используется Angular.js [6]. Для Back-end используется node.js [7] в связке с Express.js [8].
В данной работе будет представленная подробное описание работы относительно back-end.
В процессе выполнения выпускной квалификационной работы был проведен анализ предметной области и существующих аналогов разрабатываемого продукта, а также определен технологический стек. После этого были разработаны и реализованы алгоритмы конвертации PDF файлов, путем создания серверной части веб-сервиса для хранения и конвертации pdf- файлов.
В процессе разработки применялись навыки взаимодействия с фреймворком Express.js, а также с системой контроля версий Git и сервисом GitHub. Хостинг сервера в целях разработки и тестирования был выбран heroku [26].
В результате проведенной работы была разработана серверная часть веб¬сервиса по конвертации и хранению PDF-фалов, включающая следующий функционал:
- регистрация;
- авторизация и аутентификация;
- загрузка файлов;
- скачивание файлов;
- удаление файлов;
- просмотр всех файлов;
- конвертация pdf-файла в jpg-файлы;
- создание pdf-файла из jpg-файлов;
- объединение pdf-файлов;
- разделение pdf-файла;
- конвертация pdf-файла в word;
- цепочка конвертаций.
Дальнейшее развитие данного сервиса предполагает добавления новых функций для работы с pdf-фалами.