Backend & Data / Application

Real Estate API

A modular Java backend for property operations, with transactional accounting, scoped access, and private document storage.

Focus
Application engineering
Project type
Application
Core technologies
Java 26 · Spring Boot · PostgreSQL · Redis
Real Estate API concept interface illustration
Concept interface illustration

Context

The engineering problem

Property workflows connect tenants, rent, fees, and payments. Partial writes or overly broad access can leave financial records inconsistent or expose another user's data.

System architecture

Architecture at a glance

A simplified implementation map based on the linked repository. Arrows show the principal relationships; deployment details live in the source.

  1. clientAPI clients
    HTTP / JWT
    gatewaySecurity & controllers
  2. gatewaySecurity & controllers
    Authorized requests
    serviceApplication & domain
  3. serviceApplication & domain
    Repository adapters
    databasePostgreSQL / Flyway
  4. gatewaySecurity & controllers
    Request limits
    cacheRedis rate limiting
  5. serviceApplication & domain
    Storage port
    externalPrivate S3 storage
All system components (6)
  • API clientsclient
  • Security & controllersgateway
  • Application & domainservice
  • PostgreSQL / Flywaydatabase
  • Redis rate limitingcache
  • Private S3 storageexternal

Approach

Implementation decisions

  • Java 26
  • Spring Boot
  • PostgreSQL
  • Redis
  • S3
  • JWT
  • Testcontainers

Protect business boundaries

Domain and application layers depend on ports rather than persistence or web frameworks. Architecture tests check that dependency direction.

Keep accounting consistent

Application transactions group related writes, while decimal money calculations avoid floating-point accounting errors.

Separate access and storage

JWT sessions, owner-aware authorization, Redis rate limiting, and private S3 uploads address distinct security concerns.

Explore the implementation

Start with the source.

These entry points connect the architecture to the implementation.

Implementation scope

Public backend implementation with unit and integration test source. The repository demonstrates engineering choices; production traffic and deployment results have not been independently verified.