H
Resume
Back to all projects
Live in production697+tickets closed99departments servedAfaq Tech·Facility Management / ERP

Afaq FMS — Facilities Management System

Multi-tenant ERP for facility maintenance with Arabic-first UI

Visit live site
Web dashboardASP.NET Core 8 · Razor / MVCMobile appFlutter

Architected and built a comprehensive Facility Maintenance & Management System supporting preventive/corrective maintenance, work order management, and asset tracking across multiple facilities. Multi-tenant SaaS with per-tenant data isolation, real-time notifications via SignalR, async email delivery via background queue, and granular role-based permissions for administrators, consultants, contractors, and reviewers.

Key highlights

  • 1

    Multi-tenant SaaS architecture with per-tenant filtering by cust_code, secure data isolation, and tenant-specific notification settings.

  • 2

    Async email pipeline using BackgroundService + bounded Channel<EmailMessage> queue (500 items) with Resend API delivery and per-tenant recipient configuration.

  • 3

    Real-time notifications via SignalR hubs for ticket updates, approvals, and assignment changes.

  • 4

    Clean Architecture in 3 projects (Business / DataAccess / Presentation) with Repository, Service Layer, and Dependency Injection patterns.

  • 5

    20+ business modules: Tickets (Bilaghat), Projects, BOQ, Extracts (Mustakhlasat), Assets, Buildings, Maintenance Tasks, Subscriptions, Customers, Permits.

  • 6

    Companion Flutter WebView mobile app with offline detection, heartbeat, mobile config, and forced version control.

Core modules

Tickets & Bilaghat (بلاغات)
Projects & BOQ
Maintenance Planning
Asset Tracking
Procurement Workflows
Multi-tenant Settings

How it works

The path a piece of work takes through the system, step by step.

Requester
Opens a ticket
Consultant
Reviews · assigns
Contractor
Parts · maintenance · photos
Ministry team
Final review
Closed
Clean Architecture · Multi-tenant SaaS · Server-side MVC · SignalR for real-time · Background queue for email