Akariin — Real Estate Management API
A real-estate management API, built for a client, for properties, units, contracts, bills, members and maintenance requests — built on Clean Architecture with CQRS.
- ASP.NET Core
- CQRS
- MediatR
- EF Core
- SignalR
01 Overview
- Project
- Akariin — Real Estate Management API
- Country
- Saudi Arabia
- Role
- Backend developer
- Context
- Client project · API only (backend) · Clean Architecture & CQRS
- Environment
- .NET 8 · ASP.NET Core Web API · EF Core · SQL Server
- Period
- 2025
02 Problem
Property owners and managers need one system for their properties and units, the contracts and bills attached to them, the people involved, and maintenance requests.
Access has to be controlled per role and per page, and users need live updates.
03 What I did
- Clean Architecture across Domain, Application, Infrastructure and API projects.
- CQRS with MediatR: a command or query per use case, with validation and exception handling as pipeline behaviours.
- EF Core and SQL Server, with interceptors for auditing and query filtering.
- ASP.NET Core Identity with JWT, and role permissions managed per page.
- SignalR chat, Firebase push notifications and file attachments.
- Shared paging, filtering and sorting for list queries, API versioning and Swagger.
04 What the platform does
Properties & units
Real estates and their units, managed in one place.
Contracts & bills
Contracts and bills linked to properties and units.
Members
The people involved — owners, tenants and staff.
Maintenance requests
Requests raised and followed up for each property.
Roles per page
Administrators decide which roles can open which pages.
Live chat & notifications
Real-time chat and push notifications.
05 Architecture
API
- ASP.NET Core Web APIVersioned · Swagger
- SignalR hubChat
Application
- Commands & queriesMediatR
- Validation & error behavioursFluentValidation
Infrastructure
- EF CoreAuditing interceptors
- Identity & JWT
Data & external
- SQL Server
- Firebase(External system)
06 Security
- ASP.NET Core Identity with JWT authentication.
- Role permissions managed per page.
- Request validation before any handler runs.
- Audit fields set automatically on save.
07 Technology
Backend
- C#
- .NET 8
- ASP.NET Core Web API
- SignalR
- API Versioning
- Swagger
Architecture
- Clean Architecture
- CQRS
- MediatR
- FluentValidation
- Mapster
Data
- EF Core
- SQL Server
- LINQ
Identity & delivery
- ASP.NET Core Identity
- JWT
- Firebase Cloud Messaging
08 Outcome
- A complete real-estate management API with a clean, testable CQRS structure.
- In production in Saudi Arabia.