%20%20%20Adalo.jpg)
This comprehensive tutorial walks you through building a functional cloud storage and file-sharing app using Adalo’s no-code platform. You’ll create a working app with secure uploads, folders, sharing/permissions, search, quotas, and cross-device access—all without code.
Prerequisites & Initial Setup
Step 1: Create Your Adalo Account and App
- Visit Adalo.com and sign up.
- Click Create New App in the dashboard.
- Choose Mobile App (recommended for storage apps) or Web App.
- Name your app (e.g., CloudDrive, FileSync).
- Select Start from Scratch.
- (When you’re ready to publish) review current plan details: Adalo pricing.
Step 2: Configure Your App Theme
- Select a primary color (brand color or professional blue).
- Choose a secondary color for actions/CTAs.
- Pick a clean font (e.g., Inter/Roboto/Open Sans).
- Click Continue to enter the builder.
Step 3: Get Oriented in the Builder
- Left sidebar: Database, Screens, Components, Marketplace
- Canvas: Visual editor
- Right panel: Properties & styling
- Top bar: Preview, Publish, Settings
Building the Database Structure
We’ll create Users, Files, Folders, and Shared Links collections (plus relationships). If you need massive capacity or special compliance, keep metadata in Adalo and store binaries externally via External Collections/Custom Actions.
Step 4: Enhance the Users Collection
- Open Database → Users.
- Add properties:
- Profile Image (Image)
- Phone Number (Text)
- Storage Used (Number)
- Storage Limit (Number)
- Account Type (Text: “Free”, “Starter”, “Pro”)
- Subscription Status (Text: “Active”, “Expired”, “Trial”)
- Last Login (Date & Time)
- Account Created (Date & Time – Automatic)
Step 5: Create the Files Collection
- + Add Collection → Files.
- Add properties:
- File Name (Text)
- File (File) – actual upload
- File Type (Text)
- File Size (Number)
- Upload Date (Date & Time – Automatic)
- Modified Date (Date & Time)
- Is Deleted (True/False)
- Deleted Date (Date & Time)
- Download Count (Number)
- Is Starred (True/False)
- Description (Text)
- Thumbnail (Image)
Step 6: Create the Folders Collection
- + Add Collection → Folders.
- Add properties:
- Folder Name (Text)
- Created Date (Date & Time – Automatic)
- Is Deleted (True/False)
- Color Tag (Text)
- Is Starred (True/False)
- (Optional) Sort Order (Number)
Step 7: Create the Shared Links Collection
- + Add Collection → Shared Links.
- Add properties:
- Link ID (Text – unique token)
- Permission Level (Text: “View Only”, “Can Download”, “Can Edit”)
- Expiration Date (Date & Time – optional)
- Is Active (True/False)
- Password Protected (True/False)
- Access Password (Text – optional)
- Access Count (Number)
- Created Date (Date & Time – Automatic)
Step 8: Define Relationships
- Users ↔ Files: User has many Files (Owner); File belongs to Owner
- Users ↔ Folders: User has many Folders; Folder belongs to Owner
- Folders (self-reference): Parent Folder for nesting; Folder has many Files
- Files ↔ Shared Links: File has many Shared Links
- Shared Links ↔ Users: Shared By (creator)
Data modeling tips: Database basics
Creating Authentication
Step 9: Build the Welcome Screen
- Rename default screen to Welcome.
- Add logo, headline (“Your files, organized”), and subtitle.
- Buttons: Get Started → Sign Up, I already have an account → Login.
Step 10: Create the Sign Up Screen
- + Add Screen → Sign Up.
- Add a Form (Users) → Create Account (Email, Password, optional Display Name).
- On submit → Link to Dashboard.
- Footer link: “Already have an account? Log in”.
Step 11: Create the Login Screen
- + Add Screen → Login.
- Add a Form (Users) → Login (Email, Password).
- On submit → Link to Dashboard.
- Footer link to Sign Up.
Designing Core Screens
Step 12: Create the Home (Dashboard)
- + Add Screen → Dashboard.
- Top bar: app name/logo, profile (→ Settings), menu.
- Storage card: progress bar + text “{Used}/{Limit} used”.
- Quick actions: Upload File, Create Folder, Recent Files.
Step 13: Add Lists
- Folders list: Owner = Logged In User; not deleted; tap → Folder Contents.
- Files list (root): Owner = Logged In User and Parent Folder empty; sort Modified Date (desc); tap → File Details.
Step 14: Upload Screen
- + Add Screen → Upload File.
- Form (Files): File picker, File Name, Folder Location, Description, Add to Starred.
- On submit: Create File → Update User (Storage Used += File Size) → Link back.
Folder & File Features
Step 15: Build the Folder View
- + Add Screen → Folder Contents (expects a Folder).
- Show name/breadcrumbs; actions: New Folder, Upload, Share Folder.
- Lists: Subfolders (Parent = Current) and Files (Parent Folder = Current).
Step 16: Build the File Details
- + Add Screen → File Details (expects a File).
- Show preview/icon, name, type, size, dates, description, starred.
- Actions: Open/Preview, Share, Move, Rename, Download, Delete (soft-delete).
Uploads, Validation, and Quotas
Step 17: Create the Upload Flow
- Spinner + “Uploading…” while submitting; toast on success.
- Validate type/size; show “Not enough storage” modal if quota exceeded.
- Security best practices (OWASP File Upload):
https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html
Step 18: Track Storage Quotas
- After create, Update Logged In User → Storage Used += File Size.
- If (Storage Used + File Size) > Storage Limit: block upload; show Upgrade / Free up space.
- For external storage (S3/GCS/etc.), connect via Custom Actions / External Collections.
Step 19: File Type Restrictions (Example)
- Docs: PDF/DOC/DOCX/TXT
- Images: JPG/PNG/GIF
- Videos: MP4/MOV
- Use conditional visibility to disable Upload if unsupported.
Step 20: Show Upload Feedback (Approximate)
- Loading indicator on submit; optional timer/heartbeat.
- Navigate after record creation.
Creating & Managing Folders
Step 21: Create Folder Screen
- + Add Screen → Create Folder (optional Parent Folder).
- Form (Folders): Folder Name, Color Tag.
- On submit: set Owner, Parent Folder (if passed), then return.
Step 22: Move Files Between Folders
- + Add Screen → Move File (expects a File).
- Show user’s folders (tree/indented).
- Move Here → set Current File → Parent Folder = selected.
Step 23: Bulk Actions
- Add Select Multiple toggle on lists.
- Bottom bar: Move, Delete, Share.
Sharing & Permissions
Step 24: Share File Screen
- + Add Screen → Share File (expects a File).
- Form (Shared Links): Permission Level, Expiration Date, Password Protected (→ Access Password).
- On submit: create Shared Link (Link ID), show/copy URL, toast.
Step 25: Public Link Handling
- Create View Shared File (public) with Link ID URL param.
- Validate link active/not expired; handle password if required.
- Show preview and permitted actions; increment Access Count.
Step 26: Share Folders & Manage Access
- Add Share Folder (mirrors file sharing).
- Revoke Access → set Shared Link Is Active = False.
- Optional Activity Log (viewed/downloaded/edited entries per file).
Step 27: “Shared with Me” View
- On Dashboard, add Shared with Me section.
- Files with an active Shared Link or explicit share to the user.
External Storage with Xano (Optional)
Step 28: When to Use External Storage
- Need storage beyond current plan, very large files, or server-side processing.
Step 29: Set Up Xano
- Create a Xano account.
- Build tables/endpoints for upload/get/delete (optionally direct-to-S3/GCS).
- In Adalo, connect via External Collections (auth as needed).
Step 30: Wire APIs into Adalo
- Use External Collections for list/detail views.
- Custom Actions for uploads/signed URLs.
- Store binary externally; keep metadata in Adalo.
- Note: external services have separate pricing/limits.
Search & Recent Files
Step 31: Build Search
- + Add Screen → Search.
- Add a Text Input that updates a Search Query value.
- Lists:
- Files where Owner = user, File Name contains Search Query
- Folders where Owner = user, Folder Name contains Search Query
- Tap navigates to File Details or Folder Contents.
Step 32: Advanced Filters
- File Type, Date Range, Size Range, Sort By (Name/Date/Size).
- Combine with AND logic; update dynamically.
Step 33: Recent Files
- + Add Screen → Recent Files (Owner = user; sort Modified/Upload desc; limit 20).
Profile, Trash, and Preview
Step 34: Profile & Settings
- + Add Screen → Settings/Profile with avatar, email, plan, storage usage.
- Manage subscription/payment (if implemented).
- Learn publishing: Overview
Step 35: Trash (Soft Delete)
- On delete: set Is Deleted = true and Deleted Date = now.
- Exclude from normal lists; add Trash screen for restore/permanent delete.
- Auto-purge (e.g., 30 days) via automations or external tools.
Step 36: File Preview
- Images: Image component (source = File).
- PDFs: PDF viewer from Marketplace or WebView.
- Others: show icon + metadata; offer Download.
Testing Your App
Step 37: Seed Test Data
- Create multiple test users; upload mixed file types/sizes; nested folders; share links.
- Performance guidance: Optimize performance
Step 38: Core Workflow Tests
- New user: sign up → upload → create folder.
- Daily use: upload → move/rename → star → delete/restore.
- Sharing: link + incognito test; verify permissions/revocation.
Step 39: Edge Cases
- Quota exceeded, large files, slow/unstable networks, special filenames, interrupted uploads.
Step 40: Performance
- Test 100+ files; measure list/search latency; paginate/virtualize as needed; consider external storage for heavy media.
Publishing
Step 41: Prepare for Web
- Settings → Publishing.
- Free: Adalo subdomain. Paid: custom domain + DNS/SSL — Pricing
- Set SEO: title/description/favicon/social image.
Step 42: Publish to Web
- Publish → Web; verify responsive layouts and core flows across devices.
- Manual control & rebuilds: Publishing overview
Step 43: Prepare for App Stores
iOS (Apple App Store):
- Enroll in the Apple Developer Program ($99/year).
- Create the app in App Store Connect; upload assets/screenshots (verify current sizes).
- In Adalo: set iOS icons/splash; generate build; submit. (Review times vary.)
Android (Google Play):
- Create a Google Play Developer account (one-time $25).
- Prepare listing; in Adalo set Android assets; generate AAB; upload to Play Console. (Review times vary.)
Monetization (Optional)
Step 44: Subscriptions with Stripe
- Create plan tiers in your DB (Free/Starter/Pro/Business) with storage limits/features.
- Install Stripe from the Marketplace.
- Build Pricing/Checkout screens (subscription mode).
- On success: update Account Type and Storage Limit; store subscription ID.
- U.S. card fees commonly start around ~2.9% + $0.30 — Stripe pricing
Step 45: Premium Features
Password-protected links, advanced permissions, larger quotas, version history, extended trash retention, priority support, team features.
Advanced Enhancements
Step 46: Activity & Version Control
- Activity Log (Viewed/Downloaded/Edited + timestamps).
- File Versions collection; on replacement upload, create a version record and update main file.
Step 47: Teams & Orgs (Optional)
- Organizations and Team Members (roles: Admin/Member/Viewer).
- Org folders, audit logs, seat-based billing (server-side webhooks).
Step 48: Mobile-Focused Add-ons
- Manual Photo backup (“Sync Photos” flow), Offline access (Keep offline), push notifications for shares/updates/storage alerts.
Step 49: Server-Side Processing
- Thumbnails, conversions (e.g., to PDF), antivirus scanning on upload.
- Wire via Custom Actions to your API; return signed URLs.
Benefits of No-Code for File-Sharing Apps
- Rapid prototyping: ship an MVP and iterate — Preview & Publish
- Lower technical barriers: model data visually — Relational data
Why Adalo Works Well for File Storage
- Built-in relational DB: Users ↔ Files ↔ Folders ↔ Shared Links — Database basics
- Cross-platform publishing: iOS, Android, and web — Publishing
- Marketplace components: uploaders, lists, viewers — Marketplace
- Integrations: payments/backends/APIs — Integrations
Cost & Resources
- Adalo: see current plans/limits — https://www.adalo.com/pricing
- Stripe fees: vary by region/method; U.S. online cards commonly start around ~2.9% + $0.30 — https://stripe.com/pricing
- Developer programs: Apple $99/year — https://developer.apple.com/programs/ · Google Play $25 one-time — https://support.google.com/googleplay/android-developer/answer/6112435
- OWASP File Upload — https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html
- Adalo Publishing Overview — https://www.adalo.com/features/publishing
- Adalo Integrations (Xano, Stripe, etc.) — https://www.adalo.com/integrations
- Adalo Database Basics — https://www.adalo.com/posts/database-basics-for-building-a-mobile-app
Additional Resources
- Adalo Help Center — https://help.adalo.com/
- Adalo Marketplace — https://www.adalo.com/marketplace
- External Collections — https://help.adalo.com/integrations/external-collections-with-apis
- Custom Actions — https://help.adalo.com/integrations/custom-actions
- Optimize Performance — https://help.adalo.com/performance/optimize-app-performance
- Xano Integration — https://www.adalo.com/integrations/xano
- Airtable Integration — https://www.adalo.com/integrations/airtable
- AWS S3 — https://aws.amazon.com/s3/
- Google Cloud Storage — https://cloud.google.com/storage
Note: This OneDrive-style build is a prototype using Adalo’s UI and database. For very large files, robust offline/background sync, signed URL flows, and enterprise compliance, connect external services (e.g., Xano, Amazon S3, Google Cloud Storage) via External Collections / Custom Actions and handle heavy processing server-side. Always test on real devices and review your privacy posture (e.g., GDPR/CCPA) before publishing.










