Задача проекта - превратить готовый Figma-макет в полноценный веб-сервис для повседневной работы с PDF.
Пользователь должен был пройти весь сценарий в одном интерфейсе: выбрать инструмент, загрузить документ, настроить операцию, заранее увидеть стоимость обработки и скачать готовый результат.
Также требовалось реализовать регистрацию и восстановление доступа, личный кабинет с файлами и историей операций, тарификацию по модели pay-per-use, адаптивный интерфейс и безопасную обработку пользовательских документов.
Реализовали проект full-stack по готовому Figma-макету. На Next.js, React и TypeScript разработали адаптивный интерфейс: лендинг, каталог инструментов, страницу тарифов с калькулятором, рабочие экраны обработки файлов, авторизацию, личный кабинет, справочный раздел и юридические страницы.
Создали 11 инструментов: объединение и разделение PDF, сжатие, удаление и поворот страниц, преобразование изображений в PDF и PDF в изображения, добавление водяного знака и нумерации, защиту паролем AES-256, извлечение текста и распознавание сканов на русском и английском языках.
Серверную часть построили на Next.js, PostgreSQL и Drizzle ORM. Подключили авторизацию, вход через Google, подтверждение электронной почты и восстановление пароля. Для документов организовал приватное S3-совместимое хранилище, прямую загрузку файлов, очередь заданий и отдельный обработчик на базе qpdf, Ghostscript и Tesseract OCR.
Реализовали полный цикл операции: загрузку и проверку файла, расчёт стоимости, резервирование средств, фоновую обработку, проверку результата и выдачу временной ссылки на скачивание. Средства списываются только после успешного создания результата, а при ошибке резерв автоматически освобождается.
Добавили автоматическую очистку файлов, ограничения и тайм-ауты, защитные HTTP-заголовки, тесты и CI/CD. Production-развёртывание настроил через Docker, Nginx и GitHub Actions с blue-green-переключением, проверкой состояния, резервным копированием и возможностью отката.
Проект доведен до рабочего прода-запуска и опубликован по адресу pdfly.tech.
В едином адаптивном интерфейсе работают 11 инструментов для обработки PDF, каталог возможностей, калькулятор стоимости, авторизация и личный кабинет с файлами и историей операций.
Пользователь может пройти весь путь от загрузки документа до получения проверенного результата. Исходные файлы хранятся в приватном хранилище и удаляются после обработки, а готовые документы доступны в личном кабинете в течение ограниченного срока.
Автоматизированный процесс проверки, сборки и развёртывания позволяет безопасно выпускать обновления и при необходимости откатывать релиз.