Adala – Other software Software | Vibe96

Other software

Adala

Source code included

UAE lawyer-booking platform: clients book law firms via Flutter app; admins and firms manage via web panel.

Built by Chow Studio Updated 23 Oct 2026 24,973 lines of code

Open live demo Built withClaude Code

Why Adala

What makes it better
than the alternatives

  1. 01

    Full bilingual support

    English and Arabic with complete right-to-left layout in the Flutter app and admin panel

  2. 02

    White-label ready

    Brand name, logos, colours, fonts and themes set in the admin panel; app colours update without a new release

  3. 03

    Stripe card payments with demo test-card form

    Live payment sheet or a built-in test form with success and decline screens for demos

  4. 04

    Role-based access

    Admins see everything, law firms see only their own bookings and prices, clients see their own bookings

  5. 05

    Docker deployment with SQL Server

    One docker-compose.yml brings up the API and database; also runs on Windows IIS or Linux VPS

Client Mobile App (Flutter)

  • Sign up with email verification or instant/admin approval; sign in; reset password with 6-digit code
  • Home with offers
  • practice areas
  • top firms and news; search firms by name
  • city and practice area
  • Firm pages with photos
  • details
  • map
  • website and services with Regular and Express prices
  • Booking in two steps: service
  • date and time
  • documents (passport
  • ID
  • forms); coupon codes; VAT invoice
  • Card payment with Stripe payment sheet or demo test-card form; pay at office option
  • My bookings: status steps
  • invoice
  • documents
  • history
  • reschedule
  • cancel
  • pay later
  • Alerts for booking updates
  • profile
  • language switch (EN/AR)
  • support
  • feedback
  • account deletion
  • Colours follow admin panel settings (Brand & settings → Appearance → Mobile app)
  • including dark themes

Admin Panel (Razor Pages)

  • Dashboard with charts
  • bookings with status workflow
  • notes and documents
  • members and their details
  • Law firms with one login per firm; firm users see only their own firm's bookings and prices
  • Catalog: practice areas (tree)
  • services
  • per-firm prices; coupons
  • banners
  • news
  • countries
  • cities
  • Reports with charts
  • CSV and PDF download (MigraDoc with embedded Manrope font)
  • Broadcast notifications
  • contact messages and feedback
  • Brand & settings: brand and logos
  • Appearance (admin and app colours
  • font
  • ready-made themes
  • live preview)
  • Email (SMTP
  • test email)
  • Payments (Stripe with test connection)
  • push notifications (Firebase)
  • Notification rules
  • booking and VAT
  • sign-up mode (instant
  • verify email
  • admin approval)
  • demo data clean-up
  • Product tour and a landing page at /

Booking Management

  • Status workflow: Pending → Confirmed → Completed or Cancelled; notes and history
  • Document uploads from clients (passport
  • ID
  • forms); admins and firms see all documents
  • Reschedule and cancel from the app; admins and firms can change status and add notes
  • Invoice with service price
  • VAT
  • coupon discount; pay by card or at office
  • Notifications for booking updates (new
  • confirmed
  • cancelled
  • rescheduled)
  • Firm users see only their own firm's bookings; admins see all bookings

Payments (Stripe)

  • Card payment with Stripe payment sheet in the app; webhook for payment confirmation
  • Demo test-card form with success and decline screens (no Stripe account needed for demos)
  • Pay at office option; admins mark as paid manually
  • Coupon codes with percentage or fixed discount; one-time or reusable
  • VAT calculation from Brand & settings → Booking; invoice PDF download
  • Payment history in booking details; admins see all payments in Payments screen

Catalog & Content

  • Practice areas in a tree (e.g. Corporate Law → Mergers & Acquisitions); services under each area
  • Per-firm prices: Regular and Express for each service; admins set prices per firm
  • Banners on the app home screen; news articles with images
  • Countries and cities for firm addresses and client profiles
  • Coupons with code
  • discount
  • expiry and usage limit

Brand & Appearance

  • Brand name
  • tagline (EN/AR)
  • logo
  • icon
  • primary and accent colours
  • Appearance: admin panel colours
  • font
  • ready-made themes (Light
  • Dark
  • Midnight
  • Warm
  • Cool
  • Contrast)
  • live preview
  • Mobile app colours (primary
  • accent
  • background
  • text) set in the admin panel; app fetches them on launch
  • Dark theme support in the app; colours follow the admin panel settings
  • Email settings: SMTP host
  • port
  • SSL
  • username
  • password (encrypted)
  • from address and name
  • Test email button to verify SMTP settings

Notifications

  • Broadcast notifications to all clients or a specific role
  • Booking update notifications (new
  • confirmed
  • cancelled
  • rescheduled) from notification rules
  • Push notifications via Firebase (admin panel has the Firebase key; app needs google-services.json and GoogleService-Info.plist)
  • Email notifications for booking updates
  • password reset
  • email verification
  • Notification rules: enable/disable email and push for each event (new booking
  • confirmed
  • etc.)
  • Alerts screen in the app with unread badge

Reports & Analytics

  • Dashboard charts: bookings by status
  • revenue by month
  • top firms
  • Reports screen with filters (date range
  • firm
  • status); CSV and PDF download
  • PDF report with MigraDoc and embedded Manrope font; includes charts and tables
  • Booking reports: total
  • by status
  • by firm
  • by practice area
  • Revenue reports: total
  • by firm
  • by month

REST API (Minimal API)

  • JWT for the app (with refresh tokens); cookie sign-in for the admin panel
  • Role policies: Admin
  • Firm
  • Member; rate limits on public endpoints (sign-in
  • register
  • forgot password)
  • OpenAPI documentation; interactive reference at /scalar
  • Endpoints: /api/auth (sign-in
  • register
  • verify email
  • reset password)
  • /api/me (profile
  • change password
  • upload picture
  • feedback
  • delete account)
  • /api/bookings (create
  • list
  • details
  • reschedule
  • cancel
  • pay)
  • /api/firms (list
  • details)
  • /api/categories
  • /api/banners
  • /api/news
  • /api/admin/* for admin panel (bookings
  • firms
  • catalog
  • reports
  • settings
  • notifications)
  • Stripe webhook at /api/payments/webhook for payment confirmation

Database & Deployment

  • SQL Server 2019+ with Dapper (raw
  • parameterised SQL; no EF)
  • Numbered schema scripts run once each at startup (dbo.SchemaVersions); demo data scripts (only with Database:SeedDemoData)
  • Docker deployment: docker-compose.yml with SQL Server and the API; volumes for keys and uploads
  • Windows IIS deployment: publish profile
  • web.config
  • connection string in environment variable
  • Linux VPS deployment: systemd service
  • nginx reverse proxy
  • connection string in environment variable
  • First admin setup: creates the first admin account on first start (Setup__AdminEmail and Setup__AdminPassword)
  • Data protection keys in App_Data/keys (encrypted with DPAPI on Windows); losing them means re-entering SMTP password and Firebase key

Quality report

Manually reviewed

87/ 100

Automated audit score

✓ Passed the audit

Passed the audit and a manual review.
Audit run: 23 Oct 2026
Reviewed by Vibe96 staff, Dubai.

Security92
Code structure72
Docs & completeness94
Dependency health85
Build & deploy78
Reviewer notes (6 minor)

Dapper sql is parameterized and scoped; minor schema gaps (missing indexes on some fks); flutter dependencies outdated but no critical vulnerabilities found; weak default jwt signing key and demo passwords; no real credentials found; strong authentication and role checks; minor ownership gaps on read endpoints; build reproducible with minor setup gaps; missing .net sdk version pin and flutter version spec; moderate duplication and some oversized files; generally sound architecture with room for consolidation. None of these stop the software from working; the developer has been told and improvements come in a future update.

Versions & updates

1.0.0
First release23 Oct 2026✓ Reviewed & audited

No updates yet. New versions appear here with a changelog.
Buyers receive updates free for 1 year.

Quality report

What you get

  • </>Full source codeThe complete audited source, delivered as a download from your account. No obfuscation.
  • ▤DocumentationSetup guide, architecture notes, CLAUDE.md and AGENTS.md.
  • ↻One year of updatesEvery new version the builder publishes, free for 12 months.
  • ♧30 days of supportInstallation and defect support through Vibe96 tickets.
$174Single-site licence Details