The Base Code Flutter project serves as a foundational template for building scalable and maintainable Flutter applications. It is designed to streamline the development process by providing a well-structured codebase that follows industry best practices, making it easier for developers to start new projects or standardize existing ones.
This documentation provides an overview of a Flutter project structured using the MVVM (Model-View-ViewModel) architecture. The project uses Dependency Injection to manage dependencies, Retrofit for defining RESTful API interfaces, and Dio for handling network requests. Additionally, it includes custom UI components for reusable and modular development.
Technology Stack
Flutter SDK: 3.26.0 A cross-platform framework for building natively compiled applications for mobile, web, and desktop from a single codebase.
Dart: 3.6.0 The programming language used to write Flutter applications, offering strong static typing and just-in-time (JIT) and ahead-of-time (AOT) compilation.
Architecture: MVVM (Model-View-ViewModel) Promotes a clear separation of concerns, allowing independent development, testing, and maintenance of the UI and business logic.
Networking: Retrofit + Dio
Retrofit: Used for defining REST API contracts with type-safe HTTP client generation.
Dio: Handles HTTP requests with advanced features like interceptors, global configuration, and cancellation.
Dependency Injection: GetIt A simple service locator for managing dependencies, making it easier to inject and mock services for testing.
State Management: Stateful Widget Utilizes Flutter's built-in Stateful Widget for managing UI state, offering a straightforward approach to stateful UI components.
Local Storage: Shared Preference A lightweight, key-value storage solution for persisting user settings and other small amounts of data across app sessions.