Skip to content

Rishk3/GeoTrack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

GeoTrack Pro

A geospatial property tracker built with React, Leaflet, and Spring Boot — pin properties on an interactive dark-themed map, filter by type/status, and track real-time location analytics.


Features

  • Interactive Map — Dark-themed OpenStreetMap with color-coded property pins (Leaflet + react-leaflet)
  • Drop Pin Mode — Click anywhere on the map to place a new property
  • Property CRUD — Add, edit, delete properties with full form validation
  • Type Classification — Residential, Commercial, Industrial, Land — each with distinct color
  • Status Tracking — Available, Sold, Rented, Under Construction
  • Filtering — Search by name, filter by type and status
  • Analytics Dashboard — Total properties, available count, portfolio value, type breakdown
  • Geospatial Queries — Backend supports bounding-box queries for map viewport

Tech Stack

Backend

  • Java 17 + Spring Boot 3
  • Spring Data JPA + H2 (in-memory database)
  • Geospatial bounding-box queries
  • REST API — Full CRUD + filter endpoints

Frontend

  • React 18 + Vite
  • Leaflet + react-leaflet (OpenStreetMap, no API key needed)
  • Tailwind CSS + Framer Motion
  • Lucide React for icons

Getting Started

Prerequisites

  • Java 17+
  • Node.js 18+
  • Maven 3.8+

1. Clone the repository

git clone https://github.com/Rishk3/GeoTrack.git
cd GeoTrack

2. Start the Backend

cd backend
mvn clean install
mvn spring-boot:run

Backend starts at http://localhost:8087

3. Start the Frontend

cd frontend
npm install
npm run dev

Frontend runs at http://localhost:5181

4. Open in Browser

Visit http://localhost:5181 — the frontend proxies API calls to the backend automatically.

API Endpoints

Method Endpoint Description
GET /api/properties List all (with optional ?type=, ?status=, ?search=)
GET /api/properties/bounds Get properties within map bounds
GET /api/properties/{id} Get single property
POST /api/properties Create property
PUT /api/properties/{id} Update property
DELETE /api/properties/{id} Delete property

Author

Rishikesh Kumar

About

Property tracker with interactive map, pin dropping, filters, and an analytics dashboard.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors