{"id":25200739,"url":"https://github.com/brayvid/routecat","last_synced_at":"2025-05-12T13:15:37.107Z","repository":{"id":276382164,"uuid":"312276790","full_name":"brayvid/routecat","owner":"brayvid","description":"Multi-driver traveling salesman solver for delivery, alleycats and more.","archived":false,"fork":false,"pushed_at":"2025-05-07T17:37:12.000Z","size":585,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-12T13:15:19.076Z","etag":null,"topics":["delivery","google-maps-javascript-api","netlify","optimization","traveling-salesman","web-app"],"latest_commit_sha":null,"homepage":"https://routecat.netlify.app","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brayvid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-12T12:55:35.000Z","updated_at":"2025-05-07T17:38:37.000Z","dependencies_parsed_at":"2025-02-07T22:28:04.375Z","dependency_job_id":"8bd98db6-f4b6-40e7-adb6-7f6930245af0","html_url":"https://github.com/brayvid/routecat","commit_stats":null,"previous_names":["brayvid/routecat"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brayvid%2Froutecat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brayvid%2Froutecat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brayvid%2Froutecat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brayvid%2Froutecat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brayvid","download_url":"https://codeload.github.com/brayvid/routecat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253745196,"owners_count":21957319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["delivery","google-maps-javascript-api","netlify","optimization","traveling-salesman","web-app"],"created_at":"2025-02-10T04:33:43.344Z","updated_at":"2025-05-12T13:15:37.080Z","avatar_url":"https://github.com/brayvid.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RouteCat\nhttps://routecat.netlify.app\n\nRouteCat is a web application designed to calculate and visualize routes with multiple waypoints using the Google Maps API. Users can input a starting point, destination, and multiple waypoints, and RouteCat will find the most optimized route. It also displays the route on a Google Map and updates a table showing the route details.\n\n- Optimally divide deliveries among multiple drivers \n- Use distance-based clustering to group nearby deliveries  \n- Plan efficient routes with multiple stops   \n- Visualize color-coded routes on an interactive map  \n- Display each driver’s route in a clear table format\n\n---\n## How It Works\n\n1. Enter a **start** and optional **finish** location\n2. Add one or more **delivery addresses**\n3. Choose the **number of drivers**\n4. Click **ROUTE**\n5. The app:\n   - Calls Google Maps to cluster deliveries\n   - Assigns deliveries to each driver\n   - Builds and displays optimized routes\n   - Renders a summary table\n\n---\n\n## Tech Stack\n\nRouteCat is built as a lightweight client-side web application using:\n\n### Front-End\n\n| Technology | Purpose |\n|------------|---------|\n| **HTML5**  | Structure of the app (forms, inputs, map container, etc.) |\n| **CSS3**   | Custom styles + layout adjustments for responsive behavior |\n| **Bootstrap 4** + **MDBootstrap** | UI components, layout grid, form styling |\n| **JavaScript (Vanilla)** | Core logic for routing, clustering, DOM manipulation |\n\n### Google Maps Platform\n\n| API | Use |\n|-----|-----|\n| **Google Maps JavaScript API** | Renders the interactive map |\n| **Google Maps Directions API** | Calculates optimized driving/biking/walking routes between stops |\n| **Google Maps Distance Matrix API** | Measures travel time between all address pairs to enable clustering |\n| **Geocoding API** | Translates input addresses to geographic coordinates for route calculation |\n\n### Algorithms\n\n| Module | Role |\n|--------|------|\n| **Distance Matrix–based clustering** | Custom grouping logic determines which stops go to which driver based on average travel time |\n| **Waypoint Optimization** | Uses Google’s built-in optimization to reorder stops for minimum travel time |\n\n### Other Tools\n\n| Tool | Use |\n|------|-----|\n| **jQuery** | DOM manipulation and event handling for UI actions |\n| **Font Awesome** | Icon support |\n| **Netlify Functions (optional)** | Securely load API keys using a serverless endpoint |\n\n---\n\n## License\n\n**Non-commercial use only**  \n© 2020 Blake Rayvid – https://github.com/brayvid","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrayvid%2Froutecat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrayvid%2Froutecat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrayvid%2Froutecat/lists"}