Case study · Real estate · AMI network

Properties, mandates and an agent network, shipped to production.

At HiiT Co I designed and built Milkiya’s platform — Morocco’s independent real-estate agent network — from specification through production: API, agent workspace, commissions and listing distribution.

RoleConception, backend, production
PeriodApr 2021 — Dec 2022
StackPHP 7.4 · Symfony 5.4 · API Platform · PostgreSQL

Surface 01

Property search

Nationwide public site: sale and rent, apartments, villas, land — the catalogue buyers and tenants actually see.

milkiya.ma

Surface 02

Agent workspace

Agent and manager intranet: properties, mandates, visits, transactions, matching and compensation, with business validation.

APIREST · JWT · API Platform
PortalsAvito · Mubawab · Sarouty
AsyncRabbitMQ · Redis

Business problems

One catalogue, several jobs

Properties, mandates, contacts and transactions lived in disconnected tools. The AMI network needed one system to operate.

Mandate and commission

A listing is not just an ad: mandate status, manager validation, commission split across agents, referrers and the network.

One source, three portals

Listings have to go out to Avito, Mubawab and Sarouty from the same catalogue, without re-keying.

Agent vs manager

The agent captures. The manager validates. Properties, mandates, transactions and candidates follow distinct rights.

Value delivered

The work was to specify the domain, expose it as an API, then run agent operations and distribution — not just a brochure site.

  • Modules for properties, mandates, agents, visits, demand matching and referrals.
  • Secured REST API (JWT) consumed by the Twig intranet and an Angular client (directory, sponsorship).
  • Listing publication to Avito, Mubawab and Sarouty from a single catalogue.
  • Async side-effects (Messenger / RabbitMQ), Redis cache, Docker.
  • Quality: PHPUnit, PHPStan, GitHub Actions (PHP 7.4, PostgreSQL, RabbitMQ).

My role

Apr 2021 — Sep 2021

End-of-studies internship

  • Requirements and specifications.
  • Contribution to service architecture.
  • First backend deliveries.

Oct 2021 — Dec 2022

PHP/Symfony engineer

  • Design and development through to production.
  • REST APIs and connected business modules.
  • Portal distribution, queues and cache.

Simplified architecture

  1. ClientsPublic site · agent intranet (Twig) · Angular SPA (directory / sponsorship)
  2. APIPHP 7.4 · Symfony 5.4 · API Platform 2.7 · JWT
  3. Data and asyncPostgreSQL · Redis · RabbitMQ · Messenger
  4. DistributionAvito · Mubawab · Sarouty

Quality and delivery

PHPUnit, PHPStan, GitHub Actions, Docker Compose (API, Twig, PostgreSQL, RabbitMQ, Redis).

Deliverables and results

Public and verifiable

  • Public property-search site still online.

Delivered as part of my mission

  • Nationwide platform delivered, from analysis through production.
  • REST API and agent workspace for the AMI network.
  • Listing distribution to Avito, Mubawab and Sarouty.

Stack

Backend

  • PHP 7.4
  • Symfony 5.4
  • API Platform
  • Doctrine ORM
  • PostgreSQL
  • JWT
  • Messenger

Front

  • Twig
  • Angular
  • Webpack Encore

Integrations and infra

  • Avito
  • Mubawab
  • Sarouty
  • RabbitMQ
  • Redis
  • Docker

Quality

  • PHPUnit
  • PHPStan
  • GitHub Actions

Other case studies