# SFM App Source Code - This is a project template that includes several libraries to help in the development process of a Flutter project using the MVVM architecture. The template includes different layers such as base, constants, extensions, init, and view-model base. It also includes libraries for state management, localization, cache, network, and serialization, among others. The template has predefined code for building views and view-models, making it easier for developers to focus on page designs and business logic. ## Project Layers - Base - Can be moved from project to project. The structures it contains can be used smoothly in every project. - In a project based on MVVM architecture, we create the base structures of Model-View-ViewModel layers from here. - Constants - Folder where values that will not change throughout the application and can be used from start to finish are kept. - Includes Navigation names that will be used by application Path, Enum values, Image constants,Icon constants,Status constants, Navigation paths. - Extensions - Extensions that can be used in every part of the project in terms of clean code mentality are essential. - context_extension => the place where values such as width, height, padding, and duration are kept within the application. - Init - The place where important controls such as cache, lang, navigation, network, notifier, theme, shared and utils are managed for a mobile application. - cache => contains locale manager for managing application cache in this section. - navigation => the place where navigation service and navigation routes are provided. - network => used for managing web scraping operations from websites using http - notifier => manages theme changes between dark and light themes with theme notifier. - theme => used for managing the application's theme - shared => used for sharing widget using in View - utils => contains utility classes and methods that are shared throughout the application.