Java Developer Needed for Mobile App

Job ID: 39281499

Budget: ₹1,500 – ₹12,500 INR

I'm looking for a Java developer with a great understanding of data structures and algorithms to work on a mobile application. The project specifically requires the implementation of Dijkstra's algorithm.

Key Skills:
- Proficient in Java
- Strong understanding of data structures and algorithms
- Experience in mobile application development
- Familiarity with Dijkstra's algorithm
- Problem-solving skills

The main focus will be on using Dijkstra's algorithm effectively within the app. I would appreciate a developer who can also optimize existing code and implement new features where necessary. Please note that this project will primarily involve working with trees, graphs, and hash tables. Prior experience with these data structures will be a plus.

Project Overview:
Building a ride-sharing application that aims to optimize routes for both riders and clients in real-time. The primary goals of the project are to implement an efficient shortest path algorithm for ride completion and use the Haversine formula to calculate the precise current location of both the rider and client.

Scope of Work:

Shortest Path Calculation:

Implement a routing algorithm Dijkstra algorithm to calculate the shortest path for the rider from their current location to the client and then to the final destination.

The system should dynamically update the path in real-time as new information (such as traffic, road closures, etc.) comes in.

Current Location Detection:

Integrate Haversine formula to calculate the distance between the rider and the client based on their GPS coordinates.

Continuously track and update the current location of both the rider and client on the map.

Provide real-time location updates within the app for accurate tracking.

Additional Features:

Display the shortest path on a map.

Display live updates of the rider’s location in relation to the client.

Implement functionality to handle edge cases (e.g., rerouting if traffic conditions change or a new obstacle is detected).