A simple web application that helps you find buildings within a specified radius of any address. Built with FastAPI and OpenStreetMap data.
- Search buildings near any address
- Adjustable search radius (50-200 meters)
- Shows building details:
- Address
- Distance from search point
- Building type
- Coordinates
- Python 3.7+
- pip (Python package installer)
- Clone the repository:
git clone [repository-url]
cd NeighborhoodFinder- Install dependencies:
# Make script executable
chmod +x install.sh
# Run installation script
./install.shThe script will:
- Create a virtual environment (.venv)
- Activate the virtual environment
- Install all required dependencies
# Create virtual environment
python -m venv .venv
# Activate virtual environment
.venv\Scripts\activate
# Install dependencies
install.bat- Activate virtual environment (if not already activated):
# Unix/MacOS:
source .venv/bin/activate
# Windows:
.venv\Scripts\activate- Start the server:
uvicorn backend.main:app --reloador on a server:
uvicorn backend.main:app --host 0.0.0.0 --port 8000 --reload- Open your web browser and go to:
http://localhost:8000
NeighborhoodFinder/
├── backend/
│ └── main.py # FastAPI application and API endpoints
├── frontend/
│ ├── static/ # Static files
│ └── templates/ # HTML templates
│ ├── base.html # Base template
│ └── home.html # Main page template
├── install.sh # Unix installation script
├── install.bat # Windows installation script
├── requirements.txt # Python dependencies
└── constraints.txt # Pip installation constraints
Finds buildings near a specified address within a given radius.
Parameters:
address: Street address to search near (required)radius: Search radius in meters (optional, default: 100)
Example request:
GET /api/nearby-houses?address=123 Main St, New York&radius=150
Example response:
[
{
"id": "123456789",
"address": "123 Main Street",
"type": "residential",
"distance": "45m away",
"lat": 51.5074,
"lng": -0.1278
},
{
"id": "987654321",
"address": "125 Main Street",
"type": "commercial",
"distance": "80m away",
"lat": 51.5075,
"lng": -0.1279
}
]- FastAPI (backend framework)
- OpenStreetMap's Overpass API (building data)
- Nominatim (geocoding service)
- Tailwind CSS (styling)
- Depends on OpenStreetMap data completeness
- Subject to API rate limits
- Building addresses may not always be available
- Search radius limited to 200 meters maximum
© 2024 Martins Ierags. All rights reserved.