Skip to content

Files

Latest commit

5740327 · Mar 2, 2022

History

History
42 lines (32 loc) · 1.88 KB

catalog-microservice-view.md

File metadata and controls

42 lines (32 loc) · 1.88 KB

Catalog Microservice View

The scope is the various query/browsing operations that an app user can perform: browsing or searching for meals, browsing promotions and coupons, looking at subscription plans, pick-up location finder.

This is a microservice architecture. Key patterns used:

  • BFF
  • Database per Microservice (aka Database per Service)
  • CQRS
  • Wrapper (aka Legacy Wrapper, Anticorruption Layer)

Catalog runtime view Notation key

Element Catalog

Pick-up location finder

  • Has endpoints to list and search for pick-up locations near a given address or in a given region (city, state).
  • The database of pick-up locations is updated by another component (not shown in the diagram). (Being honest, in a start-up setting, it might as well be that for a while there won't be any UI for updating locations and this kind of data repository will be updated manually.)

Google Maps wrapper

  • Handles all interaction with the Google Maps external service, used for retrieving plotted maps with pick-up locations.
  • Contains all the specifics to interact with Google Maps (API key, GeoJSON data transformation, etc.)
  • Exposes a standardized interface for location finder functionality to the BFFs (and hence the frontends).

Google maps

  • External service that provides geolocation services via an API.
  • Interaction options to be further designed.

Behavior

  • N/A

Related ADRs

Related Views