App
Overview
Owlistic client is built using Flutter, a popular open-source framework for building cross-platform applications. The client provides a user-friendly interface to interact with the server and access the features of Owlistic. The main reason for choosing Flutter is its ease of use and ability to create cross-platforms mobile apps using the same codebase with minimal code changes.
High Level Design
Owlistic app is built following Model View ViewModel (MVVM) architecture pattern, which separates the user interface from the business logic of the application. The client uses Flutter's state management system to manage the application's state and provide data to the views. The client also uses Flutter's routing system to navigate between different screens in the app.
The client has three main components: Views, View Models, and Providers (Controllers). Each component is responsible for a specific aspect of the application. The Views are responsible for rendering the user interface, while the View Models handle the business logic and data manipulation. The Providers (Controllers) manage the state of the application and provide access to the data models.