This application uses TheMovieDB API to display, filter, search, add to favorites, view movie details among other functions, this application uses Riverpod as a state manager, and principles of Clean Architecture, Clean code and SOLID.
Este concepto nos ayude a definir las reglas de negocio. Hay que tener en cuenta que las entidades son atómicas. Podemos pensar en entidades como objetos que son y serán idénticos entre diferentes aplicaciones de nuestra empresa. Por ejemplo, clientes, productos, películas.
En pocas palabras, un Datasource es la fuente de datos. No debería importar de donde venga la información. Los datasources abstractos definen las reglas de negocio que se deben seguir, mientras que las implementaciones como tal, es en donde se llama al API.
Son los encargados de invocar a los datasources. Deben ser flexibles para poder cambiarlos en cualquier momento, sin afectar a la aplicación.
Sirve de puente entre nuestros casos de uso (repository) y realizan los cambios visuales en los Widgets. El gestor de estado es el encargado de invocar a los casos de uso, y estos al repositorio.
- Minimum supported version: Android version 5.0 Lollipop (Api level 21)
- Application Identifier (applicationId) com.example.flutter_movies_app
- Depending on the platform (Windows / MacOS) install Flutter in the stable version
3.10.0
- In case of using different versions of Flutter, it is recommended to install and use the Flutter FVM version manager.
git clone https://github.com/baguilar6174/flutter-movies-app.git
- Run
flutter pub get
in project root - Copy
.env.template
after that, rename this file to.env
- Complete the environment variables
- This project uses TheMovieDB API, you can read the documentation to create an API Key
- Run
flutter pub run build_runner build
to generate neccesary files - Run
flutter run
go_router: ^6.0.5
Routes managementflutter_dotenv: ^5.0.2
Use environment variablesdio: ^5.1.2
HTTP Clientflutter_riverpod: ^2.3.6
State managercard_swiper: ^2.0.4
Carruselintl: ^0.18.1
Internationalized/localizedisar: ^3.1.0+1
Local database Isarisar_flutter_libs: ^3.1.0+1
Flutter binaries for the Isar Databaseisar_generator: ^3.1.0+1
Code generator for the Isar Databasebuild_runner: ^2.4.5
Generating files using Dart codepath_provider: ^2.0.15
Finding commonly used locations on the filesystemflutter_staggered_grid_view: ^0.6.2
Provides a collection of Flutter grids layouts
- Datasources
- Repositories
- Models
- Entities
- Riverpod
- Provider
- StateNotifierProvider
- Notifiers
- Mappers
- Navigation router
- SearchDelegate
- Debouncer
- Streams
- Builders
- Navigation
- Go_Router
- Redirect
- ShellRoute
- SubShellRoutes
- Local database
- Riverpod FutureProvider
- Website - www.bryan-aguilar.com
- Medium - baguilar6174
- LinkeIn - baguilar6174
- Email - bryan.aguilar6174@gmail.com