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)
- 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.)
- 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).
- External service that provides geolocation services via an API.
- Interaction options to be further designed.
- N/A