Skip to content

eldeep2/Distressed-Property-Search

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Distressed Property Search

LandWatch is a full-stack dashboard for distressed property discovery across New York, New Jersey, and Pennsylvania. It uses FastAPI with in-memory cache storage and a React + TypeScript + Tailwind frontend.

Documentation

  • DistressedPropertySearch.md: complete architecture, data sources, API reference, frontend structure, limitations, and setup notes.
  • RUNBOOK.md: day-to-day operating guide, startup and shutdown, smoke tests, scraper triage, cache handling, and troubleshooting.

Stack

  • Backend: Python + FastAPI
  • Scraping: httpx, BeautifulSoup, Playwright dependency available for JS-heavy expansion
  • Storage: in-memory CacheStore; no database, ORM, or migrations
  • Frontend: React 18 + TypeScript + Tailwind CSS
  • Maps: Leaflet and OpenStreetMap tiles

Run

Recommended local ports:

  • Backend: http://localhost:8000
  • Frontend: http://localhost:5173

Unix or Git Bash:

cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env
./start.sh

Windows PowerShell:

Copy-Item backend/.env.example backend/.env
Copy-Item frontend/.env.example frontend/.env
python -m venv .venv
.\.venv\Scripts\python -m pip install -r backend\requirements.txt
npm --prefix frontend install
Start-Process -FilePath .\.venv\Scripts\python.exe -ArgumentList @('-m','uvicorn','backend.main:app','--reload','--port','8000') -WorkingDirectory .
npm --prefix frontend run dev

Windows double-click launcher:

.\start.bat

Manual startup, backend on Windows Git Bash:

python -m venv .venv
source .venv/Scripts/activate
python -m pip install -r backend/requirements.txt
python -m uvicorn backend.main:app --reload --port 8000

Manual startup, backend on macOS, Linux, or WSL:

python -m venv .venv
source .venv/bin/activate
python -m pip install -r backend/requirements.txt
python -m uvicorn backend.main:app --reload --port 8000

Manual startup, frontend:

npm --prefix frontend install
npm --prefix frontend run dev

Open http://localhost:5173.

Behavior

  • Search never runs on filter change.
  • SEARCH checks the in-memory cache first and only scrapes on cache miss.
  • FETCH LATEST always bypasses cache and overwrites the current filter key.
  • Regrid enrichment runs only per-property when requested.
  • Cache entries expire based on CACHE_TTL_HOURS.

Verify

source .venv/Scripts/activate
python -m compileall backend
npm --prefix frontend run build

Health check:

curl http://localhost:8000/api/health

For operational details, use RUNBOOK.md.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors