A new Flutter project.
Make clean architectural flutter project.
- Flutter MVVM design pattern
- 4 Layer architecture: Domain / Repository / Service(Usecase) / Presentation(View, ViewModel)
- Dio: Http request
- get_it: Dependency injection
- injectable: I don't know well.. what it is.. i'm struggling now.
- get: Page routers(can make named router easily)
- provider: State management in viewmodel.(I had considered with RxDart with DI, it was too complex)
- intl: i18n
- shared_preferences, sqflite: local storage
- lib
| - common: enums? (I'm thinking..)
| - domain: model definition(with JsonSerializable)
| - repository
| - api: api_provider
| - network: retrofit api defnition
| - interceptors: dio interceptors
| - endpoints.dart: remote server endpoints
| - shared_preferences: local storage
| - sqflite: local storage(pending...)
| - screens: views and viewmodels
| - services(usercase): business logic
| - values: constants for design or anything
| - di.dart: dependency injection config
| - main.dart: main file
- Is it the best way about using GetX as page routes navigator?
- Make auth screen for login(username and password)
- Api(with go-clean-arch-chat-server)
- Make chat socket example
- Sqflite (saving messages) Template
- Make unit test cases
- Refactoring