This is a Flutter project template that follows the Clean Architecture principles and utilizes the GetX package for state management and navigation.
These instructions will help you get a copy of the project up and running on your local machine for development and testing purposes.
- Ensure that you have Flutter and Dart installed on your machine. You can follow the installation instructions on the official Flutter website.
-
Clone the repository:
git clone https://github.com/thanhduy26091995/base_flutter_clean_architecture.git
-
Change to the project directory:
cd base_flutter_clean_architecture
-
Get the dependencies:
flutter pub get
-
Run the app:
flutter run
The app should now be running on your emulator or physical device.
The project follows the Clean Architecture principles, separating the code into layers:
- app: Contains all config, DI, extensions and utils for the app.
- data: Contains data sources, repositories, and models.
- di: Contains all declaration class of the app
- domain: Defines business logic and use cases.
- network: Create APIClient class to manage network, using http library.
- presentation: Manages the UI and user interaction using the GetX package.
The lib
directory contains the main application code.
- GetX Package: Utilizes the GetX package for state management, dependency injection, and navigation.
- Clean Architecture: Separation of concerns into layers for a scalable and maintainable codebase.
Customize the project according to your needs. Add features, modify existing ones, and extend the app based on your requirements.
Feel free to contribute to this project by opening issues or pull requests. Your feedback and contributions are highly appreciated.
This project is licensed under the MIT License - see the LICENSE file for details.
- The project structure and architecture are inspired by Clean Architecture principles and the GetX package.
- Special thanks to the Flutter community for valuable insights and contributions.