É um modelo de aplicação distribuída, definindo os fornecedores de recursos e os requerentes dos recursos. Em nossa aplicação, o lado do servidor será representado por uma REST API desenvolvida com Springboot 3, enquanto o lado do cliente será projeto por um sistema mobile desenvolvido com Kotlin no Android Studio.
Tal arquitetura foi escolhida com o objetivo de manter as responsabilidades do sistemas bem definidas e separadas, além de permitir uma melhor escalabilidade do sistema, reaproveitamento, manutenção simplificada e uso dos dados da aplicação em diferentes frentes como mobile, web, desktop (tendo em vista o uso de uma REST API).
