application: Implementations, infrastructure and data.
core: complete abstraction over the services, models and all the necessary classes to work on the project
presentation: UI, views, screens and the entire frontend presentation
Application:
Within the application, we are going to implement, use and adapt the whole part of libraries, core and flutter
Examples:
lib/application/repositories/auth_repository.dart Implementation of authentication services
lib/application/service/auth_service.dart Implementation of auth abstract class
lib/application/locator.dart Registration of owns services, auth, i18n, about, etc.
Presentation:
In presentation, we will implement the screens, views and widgets. For state management we use riverpod
Examples:
lib/presentation/screens/login/login_screen.dart Just the login screen
lib/presentation/screens/login/ui/sign_in_button.dar Login button by authenticator type. Here we implement the authentication status handler and use the riverpod widget
Creation of clean architecture.
About architecture:
Application:
Within the application, we are going to implement, use and adapt the whole part of libraries, core and flutter Examples:
lib/application/repositories/auth_repository.dart
Implementation of authentication serviceslib/application/service/auth_service.dart
Implementation of auth abstract classlib/application/locator.dart
Registration of owns services, auth, i18n, about, etc.Presentation:
In presentation, we will implement the screens, views and widgets. For state management we use riverpod Examples:
lib/presentation/screens/login/login_screen.dart
Just the login screenlib/presentation/screens/login/ui/sign_in_button.dar
Login button by authenticator type. Here we implement the authentication status handler and use the riverpod widgetCore: