Inspiration

Organizing car pools for large events is sometimes a hassle since you have to find out who is all going, who can drive, how many seats they have available and what the optimal grouping is for everyone. It is even more challenging when you add different layers of complexity to it like flakey people, people that don't like each other, and people that don't like country music. Our app groups all riders and drivers so that everyone can get a ride and all drivers have to drive the least amount of time possible to pick everyone up.

What it does

Our Carpool App creates clusters where organizers are able to organize a car pool, send the link to the pool to different people, then those different people would specify if they can go, what music they prefer, and what their pickup location will be.

How I built it

We are using a microservices architecture where each microservice communicates with a boundary gate way that sends and receives data from the front end which is using React. We are using MongoDB for our database because most of the data is unstructured and it was easy to make database mutations as our requirements changed.

Challenges I ran into

Early on in the project we realized finding optimal routes for drivers is actually an unsolved NP problem and would take too much resources to fully implement so we went only implemented the minimum viable product which is just organizing riders into carpools by distance from the driver.

What I learned

We learned React, Material UI, GoLang, database design, and using a microservice architecture.

What's next for Carpool App

We will finish our MVP and go on to add other features like grouping by music preference and riders giving preference to who they want to ride with.

Share this project:

Updates

Submission history