Skip to content

About

Typical search systems allow users to enter keywords which returns respective results, but constructing boolean logic across geographic fields is complex and error-prone. This app improves on that by enabling users to perform precise searches via drawing polygons on a map, making it easy to gather business contact information across complex regions

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

Composite Geographical Area Search

An ASP.NET Core MVC web application that lets you draw any shape on a map and instantly retrieve contact information for every business inside it — no complex queries or coordinates required.

Draw a rectangle, circle, or custom polygon, and Geographical queries OpenStreetMap in real time to return every shop, amenity, and building within your area. Results include business name, type, phone, email, website, and address, and can be exported to CSV or Excel.

Use cases:

  • Cold outreach & sales — target businesses in a commercial district or near a venue, save shapes for recurring campaigns, and export a full contact list in one step.
  • AI & automation pipelines — feed clean, structured business data into tools like n8n or Make via the REST API, without manual scraping or fragile browser automation.

Features

  • Interactive map interface
  • Place search powered by the Overpass API (OpenStreetMap)
  • Draw and save custom shapes on the map
  • User authentication (register/login with cookie-based sessions)

Tech Stack

  • Framework: ASP.NET Core MVC (.NET 10)
  • Database: SQL Server (Entity Framework Core)
  • Frontend: Bootstrap, jQuery, Razor Views
  • External API: Overpass API

Prerequisites

Getting Started

  1. Clone the repository:

    git clone <repo-url>
    cd Geographical
  2. Update the connection string in Geographical/appsettings.json if needed:

    "ConnectionStrings": {
      "DefaultConnection": "Server=(localdb)\\MSSQLLocalDB;Database=GeoAppDb;Trusted_Connection=True;"
    }
  3. Apply database migrations:

    cd Geographical
    dotnet ef database update
  4. Run the application:

    dotnet run

The app will be available at https://localhost:5001 (or the port shown in the terminal).

Project Structure

Geographical/
├── Controllers/       # MVC controllers (Auth, Map, Places, Shapes, Overpass)
├── Data/              # EF Core DbContext
├── DTOs/              # Data transfer objects
├── Migrations/        # EF Core database migrations
├── Models/            # Domain models (User, Place, SavedShape)
├── Services/          # Business logic (PlaceService, OverpassService, PasswordHasher)
├── ViewModels/        # View-specific models (Login, Register)
├── Views/             # Razor views
└── wwwroot/           # Static assets (CSS, JS, libs)

About

Typical search systems allow users to enter keywords which returns respective results, but constructing boolean logic across geographic fields is complex and error-prone. This app improves on that by enabling users to perform precise searches via drawing polygons on a map, making it easy to gather business contact information across complex regions

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages