Skip to content

MVP Architecture Summary

billyrrr edited this page Apr 28, 2019 · 2 revisions

Problem we are trying to solve

Current rideshare services like Uber and Lyft can be unaffordable when traveling to/from popular areas (international airports, concerts, parties, etc.). This can be due to either the surge at the time, or even just sheer distance. We will solve this by providing a platform for people to “pool up” when going to the same destination.

Who we are solving it for: College students (MVP), hopefully expand to anyone with a Facebook account, so we can merge people attending the same Facebook event.

Platform: Android, since there’s a much larger user base.

Summary: a rideshare software that connects students who need a ride to or from LAX during school vacations.

Goal: reduce high transportation cost and carbon emission. International students often have to spend lots of time finding people to share the cost of going to LAX.

Suggestion for Minimal Viable Product Backend Architecture

  • Focus on to-LAX problem, since,
    • Users share destination and strict deadline
    • Easy to write test cases
  • Use design patterns
  • Locations should be stored separately from requests
    • Faster look-up for point-to-point distances
    • Objects/superclasses should be designed to contain destination as a field (the only place that specifies LAX as destination is the API call from front-end)
    • All location fields should be a database reference of the location (User inputs are better preserved; Reduces ambiguity in user-specified locations as compared to using coordinates alone, which is error-prone and adds difficulty in locating intended location)
    • Look up whether location reference exists before creating a new database object for location
    • Database: add indexing for locations
  • Product Extended
  • Apply rideshare to other cities (proposed by: [fill in here] )
  • Apply Rideshare to more than just airports and cities, it could apply to concerts, parties, sporting events, etc. (proposed by: David)
  • Allowing user role “driver” for independent contractors
  • Connect to facebook events, sporting events, concerts

Implementation

Front-end:

  • Android
  • Libraries/API:
    • for Instant Messages, login (oauth2), and more
    • Firestore Client Library for showing a list of rides
    • Volley library for calling back end APIs
    • Flightstats

Back-end: