Get in touch
SaaS & web apps · Laravel + React · 2026

OUR Cloud — developing a cloud storage service for Azerbaijan

Extending and maintaining a BeDrive cloud storage service: Azericard payments, rebuilt billing, Dr.Web scanning for every file, OnlyOffice editing, large uploads and the mobile app backend.

OUR Cloud (ourcloud.az) is an Azerbaijani cloud storage service for people and companies: files, shared folders and workspaces, access from the browser and a mobile app, and plans priced in manat. It runs on BeDrive, an off-the-shelf Laravel and React script. BeDrive’s built-in Stripe and PayPal didn’t cover Azerbaijan, and it had no document editing, no antivirus scanning and no proper handling of large files at all. Since July 2026 we have been extending and maintaining the app.ourcloud.az application: card payments through Azericard, billing, antivirus, document editing in OnlyOffice, large uploads and the backend for the mobile app.

Technology stack

BeDrive (Laravel + React): our own backend and frontend modules, a queue and background workers on the server, and files in Backblaze B2 S3-compatible storage. Documents are edited in OnlyOffice Docs on a separate server, and files are scanned by Dr.Web. We moved deployment to GitHub Actions and carried our changes across every BeDrive update (3.2.0 → 3.2.2), because the built-in update button wipes them.

app.ourcloud.az main screen with the user's files
A user’s drive with photo thumbnails and documents.

Payments through Azericard

For Azerbaijan we added Azericard as a third payment gateway: RSA-signed requests to the bank, response verification, refunds from the admin and decoded bank decline codes in the log. We went through testing with the bank and switched the terminal to live on 7 July. Besides cards, buyers can take an invoice for a bank transfer, and the admin edits the bank details themselves.

OUR Cloud pricing page
Plans in manat with a yearly / monthly switch.
Checkout with card or bank transfer
Checkout: card through Azericard or bank transfer, plus a promo code.

Billing that fits the business

BeDrive’s billing only knew receipts for subscriptions already paid. We rebuilt it to the client’s spec: an invoice is created before payment and moves through statuses (unpaid, paid, cancelled, expired) with reminders and a due date. An account is locked only for real debt. Plan changes charge the difference, promo codes were added, and the admin can assign free plans to staff by hand with no invoices or charges. The admin has payments and finance sections, and a customer invoice is created with one button. App Store and Google Play payments through RevenueCat land in the same finance reports.

Antivirus for every file

Every uploaded file is scanned in the background: we started with ClamAV and then moved the service to Dr.Web, connected to the client’s antivirus management centre. While a file is being scanned it can’t be opened. Infected files are blocked, and the admin has a list of blocked files and an action log. The file panel shows the result, engine, signature and SHA-256, and the preview carries a “Dr.Web · clean” badge.

File properties panel with the Dr.Web scan result
File properties: scan result, engine, signature and SHA-256.
Photo preview with the Dr.Web clean badge
File preview with the scan badge.

Documents in OnlyOffice

In BeDrive, Word and Excel files could only be viewed. We connected OnlyOffice Docs to the storage, so documents and spreadsheets are now edited right in the browser. We wrote version history ourselves, since BeDrive had none: every save is archived, and an older version can be restored from the editor panel.

Word document open in OnlyOffice in OUR Cloud
A Word document in the OnlyOffice editor.
Excel spreadsheet open in OnlyOffice in OUR Cloud
An Excel spreadsheet in the same editor.

Large files, photos and video

Files of 256 MB and more are finalised in the background after upload, so multi-gigabyte uploads no longer run into the request timeout. The upload panel stays on screen when moving between sections, and the percentage shows in the browser tab. HEIC photos from iPhones got web previews, and iPhone videos are repackaged so they start playing straight away.

Upload panel with nine files
The upload panel that stays put when moving between sections.

Sharing

Sharing a file with an email address that isn’t registered yet sends that person an invitation to sign up, and file links show a preview in messengers.

Share dialog with email invites and a public link
Sharing: email invitations and a public link.

Backend for the mobile app

For the mobile app we built server-side plan purchases through RevenueCat with a webhook, Firebase push notifications, a silent push for camera sync, Google and Apple sign-in, and settings the app fetches from the server.

The mobile version

On phones the web app has a compact header, an upload button and a two-column file grid. We reworked the admin payments and finance tables for narrow screens.

Summary

We delivered Azericard and bank transfer payments, the billing rebuild, Dr.Web antivirus scanning, OnlyOffice with version history, large-file handling, iPhone HEIC and video, sharing invitations, the mobile app backend, BeDrive updates that keep our changes, and ongoing maintenance of the service.

Ready to talk about your release?

We reply within 60 minutes during working hours — with a budget estimate, a rough timeline and the team line-up for your task.

Send a request