4. Hidden functionality
Separately, at the stage of technical design, we have to make a note of the background (hidden) functionality, such as the mechanisms of working with database, the cache, the Push-notification handler, background synchronization or the cart control service. This functionality must not slip away at the beginning of the work, so it's better to describe it separately.
It's up to you to decide in what form to describe it all, but this doesn't prevent us from specifying the names of the background services (they implement the necessary functionality), which we will use in the future in the code. For example:
BL\Services\CartService
Background Singleton-service for cart synchronization. Launches when the application starts. It should support work in a multi-threaded environment with a queue of messages about changes to the cart.
BL\Services\CatalogCacheService
Implement a table storage container in the form of a Singleton-service for temporary caching of the list of goods and information about the seller between the screens.
DAL\DataServices\SyncDataService
It implements the mechanisms of stage-by-stage data synchronization. Must support work in a limited environment of native background launching.