Skip to content

Repository files navigation

Estate Market

Estate Market is a planned map-first Korean real estate discovery product.

The product benchmarks the search ergonomics of Naver Real Estate and the apartment-complex analysis mindset of Hogangnono, but it will use original UI, independently sourced data, and its own scoring/comparison layer.

Current Status

Sprint-zero implementation.

The app now runs as a Next.js prototype with a map-first public price surface, sample price points, complex detail pages, favorites/admin routes, and a public-data-ready transaction API route.

Documents

Product Direction

  • Map-based public price search
  • Apartment-complex detail pages
  • Recent transaction context
  • Favorites and comparison
  • Public-data correction/admin workflow
  • Public-data-ready architecture

Data Direction

This product is focused on real homes and complexes that physically exist, plus public transaction-based market prices. It is not dependent on current broker-uploaded listings from third-party platforms.

Public data should be used for transaction history, apartment-complex profiles, management fees, building facts, address/region normalization, and neighborhood context. Current active listings can be added later through direct registration or partnerships, but they are not the core MVP.

Do not scrape or copy proprietary listing data, photos, broker contacts, or private analysis from Naver Real Estate, Hogangnono, or similar services.

Development Direction

Recommended stack:

  • Next.js
  • TypeScript
  • Tailwind CSS
  • Prisma
  • PostgreSQL with PostGIS
  • Naver Maps API or Kakao Maps API

The first implementation sprint should create a runnable app with /map, seeded public price points, a price panel, map pins, and the first version of the visual system.

Local Development

npm install
npm run dev

Open:

  • http://localhost:3000/map
  • http://localhost:3000/admin
  • http://localhost:3000/api/public/transactions?lawdCd=11110&dealYmd=202604&type=apt-sale

Public Data API

The transaction API route works without a key by returning sample data. To call the Ministry of Land transaction API, create .env.local and set:

DATA_GO_KR_SERVICE_KEY=your_public_data_portal_key

The route currently supports:

  • type=apt-sale
  • type=apt-rent

Map Provider

The map page now uses a provider adapter. It can run with commercial map SDKs in the same pattern used by map-first services, while keeping a free Leaflet/CARTO fallback for local development.

Available providers:

  • leaflet: Leaflet with CARTO Voyager/OpenStreetMap raster tiles, no key required
  • naver: NAVER Maps JavaScript API v3
  • kakao: Kakao Maps JavaScript API
  • google: Google Maps JavaScript API
  • auto: use the first configured key in the order NAVER, Kakao, Google, then fallback to Leaflet

Set the provider in .env.local:

NEXT_PUBLIC_MAP_PROVIDER=naver
NEXT_PUBLIC_NAVER_MAP_CLIENT_ID=your_naver_cloud_maps_client_id

Kakao example:

NEXT_PUBLIC_MAP_PROVIDER=kakao
NEXT_PUBLIC_KAKAO_MAP_APP_KEY=your_kakao_javascript_key

Google example:

NEXT_PUBLIC_MAP_PROVIDER=google
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=your_google_maps_javascript_api_key
NEXT_PUBLIC_GOOGLE_MAPS_MAP_ID=your_google_maps_vector_map_id

The price-point, complex, transaction, heat, and cluster layers are rendered as application overlays on top of the selected SDK. NAVER Maps JS API v3 is loaded with ncpKeyId and the geocoder submodule, Kakao Maps is loaded with autoload=false, and Google Maps is loaded asynchronously with a callback. When NEXT_PUBLIC_GOOGLE_MAPS_MAP_ID is present, the Google adapter requests vector rendering, fractional zoom, and heading/tilt interaction. The Leaflet fallback uses CARTO Voyager by default; override it with NEXT_PUBLIC_LEAFLET_TILE_URL and NEXT_PUBLIC_LEAFLET_TILE_ATTRIBUTION if you switch tile providers.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages