Связаться
SaaS и веб-приложения · Laravel + React · 2026

OUR Cloud — разработка облачного хранилища для Азербайджана

Доработка и сопровождение облачного хранилища на BeDrive: оплата через Azericard, новый биллинг, антивирус Dr.Web для каждого файла, редактирование в OnlyOffice, большие загрузки и бэкенд мобильного приложения.

OUR Cloud (ourcloud.az) — азербайджанское облачное хранилище для людей и компаний: файлы, общие папки и рабочие пространства, доступ из браузера и мобильного приложения, тарифы в манатах. Сервис работает на BeDrive, готовом скрипте на Laravel и React. Встроенных в BeDrive Stripe и PayPal для Азербайджана не хватало, а редактирования документов, проверки файлов антивирусом и нормальной работы с большими файлами в нём не было вовсе. С июля 2026 года мы дорабатываем и сопровождаем приложение app.ourcloud.az: оплата картой через Azericard, биллинг, антивирус, редактирование документов в OnlyOffice, большие загрузки и бэкенд для мобильного приложения.

Технический стек

BeDrive (Laravel + React): свои модули в бэкенде и фронтенде, очередь и фоновые воркеры на сервере, файлы — в S3-совместимом хранилище Backblaze B2. Документы редактируются в OnlyOffice Docs на отдельном сервере, файлы проверяет Dr.Web. Деплой мы перевели на GitHub Actions, а наши доработки переносили при каждом обновлении BeDrive (3.2.0 → 3.2.2), потому что штатная кнопка обновления их стирает.

Главный экран app.ourcloud.az — файлы пользователя
Диск пользователя с миниатюрами фото и документами.

Оплата через Azericard

Для Азербайджана мы подключили Azericard третьим платёжным шлюзом: запрос в банк с RSA-подписью, проверка ответа, возврат средств из админки и расшифровка кодов отказа банка в журнале. Прошли тесты с банком и 7 июля перевели терминал в боевой режим. Кроме карты, покупатель может взять счёт на банковский перевод, а реквизиты банка администратор редактирует сам.

Страница тарифов OUR Cloud
Тарифы в манатах с переключателем «год / месяц».
Оформление тарифа: оплата картой или банковским переводом
Оформление: карта через Azericard или банковский перевод, промокод.

Биллинг под бизнес заказчика

Биллинг BeDrive знал только квитанции уже оплаченных подписок. Мы переделали его по ТЗ заказчика: счёт создаётся до оплаты и живёт по статусам (неоплаченный, оплаченный, отменённый, просроченный), с напоминаниями и сроком оплаты. Аккаунт блокируется только за реальный долг. При смене тарифа считается разница, появились промокоды, а бесплатные пакеты для сотрудников администратор назначает вручную, без счетов и списаний. В админке есть разделы платежей и финансов, счёт для клиента создаётся одной кнопкой. Оплаты из App Store и Google Play через RevenueCat попадают в те же финансы.

Антивирус для каждого файла

Каждый загруженный файл проходит проверку в фоне: сначала мы поставили ClamAV, потом перевели сервис на Dr.Web, подключённый к антивирусному центру заказчика. Пока файл проверяется, открыть его нельзя. Заражённый файл блокируется, а в админке есть список заблокированных и журнал действий. В карточке файла видно результат, движок, сигнатуру и SHA-256, а в просмотре — отметку «Dr.Web · clean».

Панель свойств файла с результатом проверки Dr.Web
Свойства файла: результат проверки, движок, сигнатура и SHA-256.
Просмотр фото с отметкой Dr.Web clean
Просмотр файла с отметкой проверки.

Документы в OnlyOffice

В BeDrive Word и Excel открывались только для просмотра. Мы подключили к хранилищу OnlyOffice Docs, и документы с таблицами теперь редактируются прямо в браузере. Историю версий дописали сами, потому что в BeDrive её не было: каждое сохранение архивируется, и старую версию можно восстановить из панели редактора.

Документ Word открыт в OnlyOffice в OUR Cloud
Документ Word в редакторе OnlyOffice.
Таблица Excel открыта в OnlyOffice в OUR Cloud
Таблица Excel в том же редакторе.

Большие файлы, фото и видео

Файлы от 256 МБ после загрузки дособираются в фоне, поэтому загрузка на несколько гигабайт не упирается в тайм-аут запроса. Панель загрузок остаётся на экране при переходе между разделами, а процент виден во вкладке браузера. Фото HEIC с iPhone получили превью в вебе, видео с iPhone перепаковываются так, чтобы начинали играть сразу.

Панель загрузки девяти файлов
Панель загрузки, которая не исчезает при переходе между разделами.

Общий доступ

При отправке файла на почту, которой ещё нет в сервисе, человек получает приглашение зарегистрироваться, а ссылка на файл в мессенджерах показывает превью.

Диалог Share с доступом по почте и публичной ссылкой
Общий доступ: приглашение по почте и публичная ссылка.

Бэкенд для мобильного приложения

Под мобильное приложение мы сделали на сервере покупки тарифов через RevenueCat с вебхуком, пуши через Firebase, тихий пуш для синхронизации камеры, вход через Google и Apple и настройки, которые приложение получает с сервера.

Мобильная версия

Веб-версия на телефоне имеет компактную шапку, кнопку загрузки и сетку файлов в две колонки. Админские таблицы платежей и финансов мы переделали для узких экранов.

Итог

На нас оплата через Azericard и перевод, переделка биллинга, антивирусная проверка Dr.Web, OnlyOffice с историей версий, работа с большими файлами, HEIC и видео с iPhone, приглашения при общем доступе, бэкенд мобильного приложения, обновления BeDrive с сохранением доработок и сопровождение сервиса.

Готовы обсудить релиз?

Отвечаем в течение 60 минут в рабочее время — с оценкой бюджета, ориентировочным графиком и составом команды под вашу задачу.

Оставить запрос