Философия доверия и самохостинг
Documenso заявляет о себе как о мировом лидере в области доверенной инфраструктуры для подписи документов. Ключевое отличие от проприетарных аналогов (таких как DocuSign) — полная прозрачность кода. Разработчики подчеркивают, что доверие строится на возможности для пользователей самостоятельно развернуть решение, проверить его работу «под капотом» и убедиться в безопасности данных. Это особенно актуально для организаций, требующих строгого контроля над хранением и обработкой конфиденциальных документов.
Технический стек и архитектура
Проект построен на современном стеке технологий, обеспечивающем высокую производительность и масштабируемость. В основе лежит TypeScript, а для управления состоянием и маршрутизацией используется React Router v7. Серверная часть реализована на Hono, а работа с базой данных осуществляется через ORM Prisma. Для генерации PDF-документов и цифровых подписей применяются специализированные библиотеки: @libpdf/core, pdf.js и @cantoo/pdf-lib.
| Компонент | Технология/Библиотека | Назначение |
|---|---|---|
| Язык | TypeScript | Основной язык разработки |
| Фреймворк | React Router v7 | Клиентская маршрутизация |
| Сервер | Hono | Высокопроизводительный сервер |
| ORM | Prisma | Работа с базой данных Postgres |
| shadcn/ui, Radix UI | Компонентная библиотека | |
| @libpdf/core, pdf.js | Создание, просмотр и манипуляция PDF | |
| Платежи | Stripe | Обработка транзакций |
Изменения в политике контрибьюции
Важное изменение касается процесса разработки: проект официально приостановил прием внешних pull requests (PR), за исключением узкой группы проверенных контрибьюторов. Это решение принято для повышения стабильности и безопасности кодовой базы. Теперь основной способ участия сообщества — создание детализированных issue (задач) для сообщений об ошибках или предложения новых функций. Разработчики призывают сообщество сосредоточиться на качестве описания проблем, а не на прямом внесении кода.
Локальная разработка и развертывание
Для быстрого старта разработчикам предлагается использовать Docker. Требуется Node.js версии 24 или выше и база данных Postgres SQL. Запуск локальной среды осуществляется командой npm run dx, которая поднимает контейнеры с базой данных и почтовым сервером Inbucket. Приложение доступно по адресу http://localhost:3000, а веб-интерфейс для просмотра входящих писем — по адресу http://localhost:9000.
Помимо локальной разработки, поддерживаются развертывания через Docker Compose, Railway, Kubernetes и Gitpod. Для корпоративного сектора доступен Enterprise-план, предлагающий дополнительные возможности гибкости и контроля.
Источник: Github ↗
