Location-based task management system in Java. Features GPS-based task filtering, distance calculations using Haversine formula.
A Java application for managing tasks with geolocation features. Tasks can be filtered and sorted by proximity to your current location using the Haversine formula.
- ✅ Add tasks with GPS coordinates
- ✅ Filter pending tasks
- ✅ Sort tasks by distance using Haversine formula
- ✅ Mark tasks as completed
- ✅ Display all tasks with location data
src/main/java/com/locationtask/
├── Task.java # Task model with location data
├── LocationUtils.java # Haversine distance calculation
├── TaskManager.java # Core business logic (filtering & sorting)
└── Main.java # Demo application and testing
cd src/main/java
javac com/locationtask/*.java
java com.locationtask.Main
cd src\main\java
javac com\locationtask\Task.java
javac com\locationtask\LocationUtils.java
javac com\locationtask\TaskManager.java
javac com\locationtask\Main.java
java com.locationtask.Main
✓ Task added: Grocery Shopping
✓ Task added: Gym Session
✓ Task added: Coffee Meeting
✓ Task added: Library Visit
=== ALL TASKS ===
Grocery Shopping - Buy groceries at Market (Coords: 12.9716, 77.5946)
Gym Session - Workout at Fitness Center (Coords: 12.9352, 77.6245)
Coffee Meeting - Meet client at Cafe Coffee Day (Coords: 12.9698, 77.7997)
Library Visit - Return books at Central Library (Coords: 13.0001, 77.5769)
=== TASKS BY DISTANCE (from 12.97, 77.59) ===
Grocery Shopping - Distance: 0.50 km
Gym Session - Distance: 4.20 km
Library Visit - Distance: 5.10 km
Coffee Meeting - Distance: 18.30 km
- Language: Java 8+
- Features: Streams, Lambda Expressions, Collections Framework
- Algorithm: Haversine Formula for GPS distance calculation
- Object-Oriented Programming (OOP)
- Java Streams and Functional Programming
- Geospatial calculations
- Design patterns (Manager pattern)
- Database integration (SQLite/MySQL)
- REST API using Spring Boot
- Android app integration
- Real-time location tracking
- Task notifications
@csmdg7 - Chetana Srinivasa Murthy
MIT License - feel free to use and modify