{"id":23032292,"url":"https://github.com/michaelfromyeg/grouber","last_synced_at":"2026-05-09T09:55:56.509Z","repository":{"id":38635066,"uuid":"284075032","full_name":"michaelfromyeg/groUber","owner":"michaelfromyeg","description":"🚗 Get your gang together, without the headache. ","archived":false,"fork":false,"pushed_at":"2024-07-29T22:28:42.000Z","size":7722,"stargazers_count":9,"open_issues_count":14,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-08T12:13:54.515Z","etag":null,"topics":["carpool","react","typescript","uber"],"latest_commit_sha":null,"homepage":"https://grouber.online","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaelfromyeg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-07-31T15:59:14.000Z","updated_at":"2024-04-26T18:34:25.000Z","dependencies_parsed_at":"2024-04-05T01:52:53.081Z","dependency_job_id":"3c4af48e-9989-426e-933e-1d376436e6a3","html_url":"https://github.com/michaelfromyeg/groUber","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/michaelfromyeg%2FgroUber","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelfromyeg%2FgroUber/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelfromyeg%2FgroUber/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelfromyeg%2FgroUber/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaelfromyeg","download_url":"https://codeload.github.com/michaelfromyeg/groUber/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246899625,"owners_count":20851893,"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":["carpool","react","typescript","uber"],"created_at":"2024-12-15T15:51:51.842Z","updated_at":"2026-05-09T09:55:56.453Z","avatar_url":"https://github.com/michaelfromyeg.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch2 align=\"center\"\u003eThis repository is now deprecated, and development of groUber, now called rooter, is being continued \u003ca href=\"https://github.com/getrooter\"\u003ehere\u003c/a\u003e.\u003c/h2\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"15%\" src=\"branding/logo/grouber-logo-01.svg\"\u003e\n\u003c/p\u003e\n\n# groUber: schedule carpools, without the headache\n\nHello, world! We’re groUber, an app for organizing events in the 21st century. \n\ngroups + Uber = [groUber](https://grouber.online)\n\n## About\n\ngroUber is aimed to help event planners create carpools, and is being built for To the Moon and Hack. If you're going to use this project to plan your event, remember to stay 6ft apart!\n\n### Motivation\n\nThis project was built by a group of 5 students from UBC in Vancouver, BC who love automating things. And one horrific task all of us have run into when planning our events is creating a workable carpool schedule.\n\nIt’s a great option for getting your group together: whether it be parents figuring out how best to get their kids to soccer practice, or friends accommodating those without access to a car, carpooling is common, but creating a plan can be painful, to say the least.\n\nYou finally come up with a workable schedule: everyone can make it to the event, no driver has to go in annoying, wasteful loops, and everything can start on time.\n\nThen a driver with 4 seats drops out. And you have to do it all over again. No, thanks.\n\n### Introducing: groUber\n\nWith groUber, never go through that headache again. As an event organizer, create your event, send an invite link to your friends, and create a carpool schedule with one click. As a participant, simply receive a link, RSVP, and inform the organizer of how many seats you have available. You’ll receive a schedule on the day-of.\n\nUsing the Radar API and the Google Maps API, along with a bit of algo-magic, our app will create the most optimal carpool schedule for everyone involved. We were hesitant to do this project at first; the idea of designing an algorithm to find the “best” carpool strategy was intimidating to say the least. After some research, it turns out this is actually classified an NP-hard problem. We didn't need to solve the problem generally though, and were able to design a heuristic algorithm to be able to compute this with fairly good results. Here are a [few](https://www.sciencedirect.com/science/article/pii/S1877050914006334) [examples](https://arxiv.org/pdf/1604.05609.pdf) of scholarly work in this area. It took great teamwork, persistence, and a decent amount of caffeine to get this working.\n\nNow, drivers won’t have to waste gas, and everyone will get there on time. Someone drops out? No problem, our app will allow you to adjust your schedule, painlessly. \n\ngroUber is ride-sharing for your group of friends, without all the expenses and overhead. Do a favor for the environment, and for your stress-levels, and start using groUber today.\n\nHere's our [whitepaper](https://docs.google.com/document/d/e/2PACX-1vSLo8DhZ7p-VgPnmieasD01zZ2_76uMxPxSwVErq3_gQPvpokrFI4G5SHA1Pxrc9b9ouhK5yvL-4X3t/pub) where you can find a more in-depth justification for this hack! We also have a [slide deck](https://docs.google.com/presentation/d/e/2PACX-1vRY4A2dxP3vd1L7tY9gNC1Y0oegweKaiE9ZRHzulQArcLDld2zxErJQPk2TWvtwONXqdFWSECFlWEhh/pub?start=false\u0026loop=false\u0026delayms=15000) for the visual learners out there.\n\n## Installation\n\n### Stack\n\n- TypeScript, React\n- Node.js, npm\n- Firebase, including authentication, hosting, and Firestore\n\n### Get it running\n\n`npm install`\nInstall dependencies.\n\n`npm start`\nRun for development.\n\n`npm lint`\nRun linting over the project repository.\n\nDeployment happens entirely via GitHub Actions; on any pushes to master, the app will be re-deployed to Firebase hosting.\n\n## Usage\n\nHead to [grouber.online](https://grouber.online). Sign-up using your Google account.\n\nCreate your event with all key details, and send an invite to your to-be attendees. Once they RSVP, you'll see their details on your event dashboard. Then, generate your event's carpool schedule in one click!\n\nParticipants must submit their address, if they're driving, and if so, how many seats they have available in their vehicle.\n\n### Examples\n\n\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"90%\" src=\"images/homescreen.png\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"90%\" src=\"images/dashboard.png\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"90%\" src=\"images/appMap.jpg\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"90%\" src=\"images/branding.png\"\u003e\n\u003c/p\u003e\n\n## Contributing\n\nThis will be updated after the hackathon! Stay posted for more.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelfromyeg%2Fgrouber","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelfromyeg%2Fgrouber","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelfromyeg%2Fgrouber/lists"}