{"id":17767215,"url":"https://github.com/samzhang02/droove","last_synced_at":"2025-04-01T14:48:46.223Z","repository":{"id":62067631,"uuid":"557428644","full_name":"SamZhang02/DrooVE","owner":"SamZhang02","description":"Hackathon Project: Web-app that generates a smart itiniary with pre-determined rest-stops based on user inputs","archived":false,"fork":false,"pushed_at":"2023-01-28T22:24:58.000Z","size":5946,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T01:49:31.005Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"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/SamZhang02.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}},"created_at":"2022-10-25T17:11:01.000Z","updated_at":"2023-01-07T15:32:30.000Z","dependencies_parsed_at":"2023-01-31T07:15:45.988Z","dependency_job_id":null,"html_url":"https://github.com/SamZhang02/DrooVE","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamZhang02%2FDrooVE","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamZhang02%2FDrooVE/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamZhang02%2FDrooVE/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamZhang02%2FDrooVE/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SamZhang02","download_url":"https://codeload.github.com/SamZhang02/DrooVE/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246659938,"owners_count":20813333,"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":[],"created_at":"2024-10-26T20:43:42.974Z","updated_at":"2025-04-01T14:48:46.201Z","avatar_url":"https://github.com/SamZhang02.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DrooVE\n### [DEPRECATED]\n## The 123LOADBOARD Problem\n⚡ Problem\n\nCarriers drive large trucks for several hours straight, and if they are not well rested, they can experience fatigue and sleepiness on the road. Drowsiness while driving is hazardous for carriers and surrounding drivers. Keeping carriers awake and alert could save lives.\n\n🎯 Ideal Goal\n\nEnsure carriers stay awake while driving.\n## What it does\nWe wanted to challenge 123LOADBOARD's ideal goal's reactive nature and propose a preventive solution to the problem instead. \n\nDrooVE is a smart itiniary planner that suggests a driving itiniary to follow throughout the trip. The web-app takes into account the user's departing position, destination, preferred time of arrival and numbers of hour of sleep in the past 12 hours to determine a itiniary, with specific resting areas that can be stayed during the trip.\n## How we built it\nBackend: Node.JS with Google Maps API\n\nFrontend: Vanilla JS with TailWindCSS\n## Challenges we ran into\nCodeJam12 is everybody's first hackathon, so coming up with a proper project outline with clear task delegation was a challenge. \n\nAdditionally, most of the team were familiar with different tech stacks, so having everyone adapt to Node.JS was a challenge as well\n\nLogistically, there was no readily availible APIs that can look for rest areas alongside a route, and our backend team had to combine two of Google Map's API to write our own algorithm that finds said rest areas. \n## What's next for DRooVE\nThe most important step would be to implement DRooVE as a mobile app, allowing truck drivers to have easy access to the trip planner while on the go. (We lacked the technical knowledge to do so) Additionally, a database implementation in the future can enable users to have their own profiles to make using the planner a more personalized experience (history of past travels, sleeping habits/schedule, etc.). Finally, a rolling algorithm that stores user data and improves with the number of times of usage would be a great tool for truckers as well. \n\n## Running the Project\nPrerequesite: Google Maps API key\n1. Clone the repo\n2. `npm i`\n3. Create a `.env` and create a variable `MAPS_API_KEY`\n4. Assign your Google Maps API key to `MAPS_API_KEY`\n5. Put your Google Maps API key in the URL in `\u003cscript\u003e` section of `plantrip.html`\n6. Start the server by `node server.js`\n7. Open `login.html` and enjoy.\n\nNote: The login page is hard-coded, any username with `@` included will work\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamzhang02%2Fdroove","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamzhang02%2Fdroove","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamzhang02%2Fdroove/lists"}