
MapaTrhu · Adattermék
Előbb a kontextus. Utána a döntés.
A MapaTrhu több portál hirdetéseit, az árak alakulását, a helyszíni kontextust és az összehasonlítást egyetlen ingatlanvásárlási munkafelületen egyesíti.

Decision journey
Five steps from the map to fair-price context.
The selected market stays put when a user opens a listing from the map. Price, locality and comparable offers load progressively, each one arriving at the moment it can inform the next decision.

Scroll the diagram horizontally.
- 01
Search the market
Listings from multiple portals share one map. Viewport and filters update the results together, keeping the visible market relevant.
- 02
Open the property
The detail keeps the selected area in context and adds source, price, history, attributes, and photos without returning to a stack of portal tabs.
- 03
Read the price map
The price map compares districts and localities through a consistent price-per-square-metre view, giving one asking price a market frame.
- 04
Understand the locality
Seventeen optional layers add transport, parks, schools, demography, risks, services, and analytical signals directly to the map.
- 05
Check fair-price context
The estimate uses comparable price per square metre, time weighting, and data availability. It communicates context and confidence, not a guaranteed value.
Információk
- Projekttípus
- Saját ingatlan-adattermék
- Platform
- Nyilvános webalkalmazás
- A mi szerepünk
- A terméket a nulláról építettük, és ma is mi üzemeltetjük, a hirdetésgyűjtéstől a térképes felületig.
- Állapot
- Élőben és ingyenesen a mapatrhu.sk oldalon
Technológia
- React 19
- TypeScript 6
- Vite 8
- MapLibre 5
- TanStack Query
- Zustand
- Tailwind CSS 4
- Paraglide
- FastAPI
- Python 3.14
- PostgreSQL 17
- PostGIS 3.5
- pgvector
- psycopg3
- Redis 8
- aiohttp
- Docker
- Caddy
Amit megtud
- 01Hogyan kapcsolhatók össze több portál hirdetései az előzményeik elvesztése nélkül.
- 02Hogyan marad a térkép olvasható és gyors a növekvő adatmennyiség mellett.
- 03Hogyan csökkenti az ár, a helyszín és az összehasonlítás a vásárlás bizonytalanságát.
01
Széttagolt piac
Ugyanaz az ingatlan több portálon is megjelenhet, eltérő szöveggel és folyamatos előzmények nélkül. A vásárló így megnyitott lapokból, táblázatokból és benyomásokból rakja össze a piac képét.
“Az otthonvásárlási döntéshez több kell egy fotónál és egy hirdetési árnál.”



02
A térkép mint munkafelület
A térkép a fő munkafelület. Mozgatáskor és szűréskor a pontok, a találatok és a helyszínrétegek együtt változnak, így megmarad a kapcsolat a hirdetés és a hely között.



03
Az árnak kontextus kell
Az ártérkép kerületeket és helyszíneket hasonlít össze. A részletekben ott az áralakulás, az elérhetőség és a környék. A becslés nem bizonyosság. Minden szám mellett ott a forrás és a megbízhatóság.



04
Összehasonlítható shortlist
Az érdekes hirdetések menthetők, értesítésekkel követhetők és egymás mellett összehasonlíthatók. Az azonos mezők minden ingatlannál az érzésből ellenőrizhető shortlistet készítenek.




05
Élő adattermék
A gyűjtés és a deduplikálás PostgreSQL-en és FastAPI-n fut. A térkép MapLibre Reactben. Termék, design, fejlesztés és üzemeltetés a Rise kezében van, így a felület és az adatréteg együtt fejlődik.

Design and engineering
The decision journey shaped the system layers.
A listing keeps its origin, its identity and its price context through every movement of the map. Collection, calculation and public reads sit in separate layers so none of them slows the others down.
Hogyan építettük fel a rendszert
Az első szűrőtől a szűkített listáig
Feltérképeztük a vevő döntéseit és az első szűrőtől a szűkített listáig szükséges információkat.
Minden hirdetés forrása visszakövethető
Összehasonlítottuk a portálok adatmezőit, és megőriztük minden hirdetés és módosítás forrását.
Ugyanaz az ingatlan, egy rekord
Közös hirdetési modellt és determinisztikus kulcsot terveztünk az azonos ingatlanok források közötti összekapcsolásához.
Minden rétegnek egy feladata van
Szétválasztottuk a nyers adatgyűjtést, az identitást, a számításokat és a nyilvános lekérdezést, hogy külön módosíthatók és ellenőrizhetők legyenek.
A térképnézet határozza meg a lekérdezést
Profiloztuk a térképes lekérdezéseket, majd olvasási modellt, gyorsítótárat és ütemezett feladatokat adtunk a valós térképnézet köré.

Scroll the diagram horizontally.
- 01
Client and map
React 19, TypeScript 6, Vite 8, MapLibre 5, TanStack Query, and Zustand keep filters, viewport, detail, and comparison in one state.
- 02
API and services
FastAPI in platform_v2 registers 81 route modules. Seventy-three services and raw psycopg3 separate domain decisions from SQL reads.
- 03
Ingestion and identity
aiohttp collectors read about 26 portals over HTTP, preserve the raw record, and deterministically link the same listings without losing provenance.
- 04
Geo intelligence
PostGIS 3.5 serves spatial selections, 17 layers, and an H3 resolution-7 grid. pgvector adds text retrieval and similarity.
- 05
Data and operations
PostgreSQL 17, Redis 8, materialized views, systemd jobs, Docker, Caddy, and imgproxy support fast reads and regular data refresh.
Listing data pipeline
Every listing passes through five controlled stages.
Raw portal data never reaches the map. A record keeps its source, gets normalized, is linked to the property it duplicates and picks up calculated signals. Only then does it enter the read model.

Scroll the diagram horizontally.
- 01
Capture the source
HTTP collectors for about 26 portals store the raw response and keep downloading separate from later processing.
- 02
Normalize
Parsing and geocoding turn different names, prices, areas, addresses, and coordinates into the shared listings working model.
- 03
Link identity
A SHA-1 key built from country, rounded price and area, city, street, and rooms links sources while preserving their history.
- 04
Calculate signals
A cohort price-per-square-metre z-score and ROI methodology populate property_metrics_current. The output remains an estimate with an explained source.
- 05
Serve the map
FastAPI, read models, and two-tier caching serve the MapLibre map, 17 layers, details, alerts, and saved searches.






