Skip to content
Web systemClient project2023

Real Estate System

Property management, leads and portal integration platform

ReactTypeScriptTailwind CSSNode.jsExpress
Real Estate System
Cover — Real Estate System

01

Overview

System built for a real estate agency that needed to centralize its property listings, organize leads from different channels and integrate with real estate portals via API. It replaced spreadsheets and manual processes with a centralized platform that the team uses daily.

My role

Full-stack development: database modeling, REST API, admin dashboard and portal integration.


Category

Web system

Year

2023

Status

Client project

02

The Problem

The agency managed properties in spreadsheets, leads on WhatsApp and published to multiple portals manually. Any price or availability update had to be made in several places, causing inconsistencies and eating up the team's time.

03 — The Solution

A centralized system with complete property listings, a lead CRM with history, a public API for integration with portals and partner sites, and a full admin dashboard for the team.


04

Key Features

01

Property Listings

Multi-step form with photos, features, prices, location and availability.

02

Lead CRM

Lead management with source, contact details, interaction history and negotiation status.

03

Public REST API

Documented API for integration with partner sites, real estate portals and external systems.

04

Advanced Search

Filters by type, location, price, area, number of bedrooms and special features.

05

Photo Management

Gallery upload with drag-and-drop reordering and cover photo selection.

06

Reports

Dashboard with properties by status, leads by source and conversion metrics.


05

Technologies

Front-end

ReactTypeScriptTailwind CSS

Back-end

Node.jsExpress

Database

PostgreSQLPrisma ORM

Deployment

VPSNginx

Integrations

Amazon S3ZAP Imóveis API

Libraries

React Hook FormReact QueryMulterSharp

06

Design Decisions

Admin interface focused on efficiency for frequent use by the team. A multi-step form for property listings reduces data entry errors. Tables with inline filters and real-time search for agile lead management.

07

Technical Challenges

Modeling properties with attributes that vary by type (house, apartment, land, commercial unit) without creating a monolithic table with dozens of columns. Solution: a base property table + JSONB for category-specific attributes, with PostgreSQL indexes for search performance.


08

Results

  • System in use by the agency with hundreds of properties listed
  • Elimination of spreadsheets and manual update processes across portals
  • Integration API in production, consumed by a partner external portal

09

Learnings

  • Designing a documented, versioned REST API for third-party consumption
  • File upload and management in production with S3 and image processing with Sharp
  • Database modeling for properties with attributes that vary by type (EAV vs. JSON)
  • Deploying to a VPS with Nginx as a reverse proxy and process management with PM2