Project structure
EduCATS project has the following structure:
Configuration
Contains configuration files like AppConfig (which is used to configure packages, helpers and tools on application start).Constants
Contains static classes with global constants.Controls
Contains views & controls used in the application.Data
Retrieves, handles, caches and gives access to API data with the help of DataAccess.Fonts
Provides fonts and font controllers. More details here.Helpers
Provides helpers and tools for the application (for both UI and logic).Localization
ContainsJSON
localization files. More details here.Networking
Provides wrapper for the network services and contains API methods (used only by DataAccess).Pages
Contains application pages withModel-View-ViewModel (MVVM)
pattern.- Models
Page models. - ViewModels
Page view models (logic). - Views
Page views (UI).
- Models
Properties
Project'sAssemblyInfo
(used basically for fonts, more details here).Themes
Used to store application themes and provides manager for this purpose. More details here.
Additional information
- Interfaces are stored in separate directories in places where they are implemented (e.g.
Themes/DependencyServices/Interfaces
,Data/Interfaces
, etc.). - API models are stored in
Data/Models
. - Networking models (for
POST
requests) are stored inNetworking/Models
. Data
also containsUser
directory used for managing user's account.