android – 3-tier architecture diagram for e-commerce mobile application

I am working on a 3-tier architecture diagram for an e-commerce mobile application, mainly an Android application.

Since I come from a strong technical background with little to no experience in design or documentation, I am not sure if the diagram and explanation includes all that it should and if it is structured properly with components positioned in their right layer.

This is what I came up with after some knowledge gathering and research:

enter image description here

Presentation Layer:

Components – Screens,Forms, Buttons, Notifications etc..

Presentation Logic – UI specific for different screen sizes, form factors, language and region specific UI/Theme etc..

User Interactions – Text input, buttons click, permissions, enable GPS etc..

Business Layer:

Application Facade – Rest APIs, database APIs

Components – ViewModels that do the validation, helper classes to parse and cleanup the data

Entities – Data models like User, Product, Order, PaymentDetails etc..

Workflow – Data flow between the Entities, like adding a product to cart, checking out a cart etc..

Data Access Layer:

Local Database – SQLite to show data when the application is not connected to internet

Persistent Storage – File storage for any image caching, User preferences etc..

Server Database – Remote database and file system which is used by the Rest APIs


Security – Secure communication between the layers like database encryption, secure payment, HTTPS protocol etc..

Operational Management – Logging Analytics, crash reports etc..

Communication – Interfaces to update the UI, sync the database, send/receive notifications etc..

I would like to know if I am missing anything fundamental or if there are any structural flaws in the diagram. Thanks!