Overview

Let’s start by defining some common terms of the ubiquitous language in this application’s domain

  • User: an individual using the app. A user can have one or more roles.

  • Rider: a user that can request and go on a trip.

  • Driver: a user who has registered with his car, and thus is able to accept a proposed trip.

  • Admin: An admin is a superuser who can, among other things, get metrics, list users and transfer money between accounts.

  • Trip: A trip has a state, an origin and a destination. When the trip is ongoing, the driver’s current location is available too.