Skip to content

methil-group/maps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Smart Route Optimizer

Planning a trip with multiple stops can be a headache, especially when you're trying to balance time, fuel costs, and toll roads. This tool was built to make that process effortless, giving you the best possible route based on what matters most to you.

Whether you're planning a road trip across France or just a busy day of errands, our optimizer uses real-world map data to ensure you're getting the most accurate path possible.

What makes this special?

Most planners just give you the shortest distance. This one goes further:

  • Real-world precision: We use raw OpenStreetMap data and a custom-built Go engine to calculate routes. This means we actually understand road types, speed limits, and toll sections better than generic wrappers.
  • Fuel & Toll savings: Input your car's consumption and pick your fuel type (Gazole, SP95, etc.). The algorithm will find the path that keeps more money in your pocket by balancing fuel and tolls.
  • Intuitive planning: Drag and drop your locations to see how the route changes, or let the "Find Best Route" button do the heavy lifting to find the optimal order for you.
  • Share with a link: Everything you configure—your stops, your fuel settings, your chosen route—is saved directly in the URL. You can refresh the page or send the link to a friend, and they'll see exactly what you see.
  • French & English support: Native support for both languages, making it easy to use no matter your preference.

How it's built

The project is split into two main parts:

  1. A fast Go backend: This is where the heavy lifting happens. It parses high-volume OSM data and runs the A* optimization algorithm to find your path in milliseconds.
  2. A sleek React frontend: A clean, modern interface that stays out of your way and lets you focus on your map.

Setting it up

The Server (Go)

Navigate to the server folder, add your desired map URLs to MAPS.txt, and run ./scripts/download_maps.sh. Once you have your data, just run go run . to start the engine.

The Web App (React)

In the web folder, set your backend URL in a .env file, run npm install followed by npm run dev, and you're ready to go.

Deployment

If you prefer Docker, we've included a multi-stage Dockerfile in the server folder. It builds a tiny, efficient image that can be deployed anywhere.

docker build -t route-optimizer-server ./server
docker run -p 8080:8080 -v $(pwd)/server/data:/app/data route-optimizer-server

Contributing & License

This is an open project licensed under MIT. Feel free to dive in, report issues, or suggest new ways to make trip planning even better.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors