- ✗ Pictures could be added for all types of users (for example, add a new field in DB table).
- ✗ Client applications store cache and session tokens, so create mechanism for data replication (backend to client app).
- ✗ Communication between services using message broker could be possible only if each backend service has its own database.
- ✗ Add JWT + Microsoft and Google OAuth-based authentication.
- ✗ When communicating through the network, sometimes you can use the idea of pipelining:
- ✗ Add recipes into DB for customer app.
- ✗ Add overall description of warehouse, kitchen and courier apps/backend services.
- ✗ Add algorithms to handle exceptions to the diagrams.
- ✓ Probably, it's better to move signin and signup into the folder that stores data for authentication service.
- ✗ Use UserAccount for customer backend and client-side customer app.
- ✗ Add SKU and ASN classes for the warehousebackend service.
- ✓ Place the sections "Related modules" and "Human-readable name" just after languages.
- ✓ Create the common diagram that shows interaction between services in order to retrieve some data for customer client-side app (e.g. orders, pending orders, settings, user account, watching videos).
- ✓ Create a diagram that could be used to explain how services intract with each other, in order to send and/or retrive some push or email notifications.
- ✓ Create a diagram that explains how the products are delivered to the kitchen, how the order is prepared, and how it is delivered to the customer.
- ✗ Implement parsing of QR code.
- ✗ Building the most optimal delivery route and displaying the courier's location on the map could be implemented in this application.
- ✗ You can add a link to the client application in the documentation for processes.
- ✗ Describe what processes and process patterns are, how they are divided into backend services; how it is determined which backend service a particular process will belong to.
- ✗ Write "Getting started" guide for the project.
- ✗ In the DBA backend,
pg_stat_statements
could be used for getting daily report on queries. Alsolog_min_duration
could be used when it comes to logging those statements whose execution time is too big. - ✗ Platform migration to Linux system.
- ✗ Consider to use the following architecture for interaction between microservices:
- ✗ Consider to use OLAP database: