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 getin project root - Copy
.env.templateafter 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 buildto generate neccesary files - Run
flutter run
go_router: ^6.0.5Routes managementflutter_dotenv: ^5.0.2Use environment variablesdio: ^5.1.2HTTP Clientflutter_riverpod: ^2.3.6State managercard_swiper: ^2.0.4Carruselintl: ^0.18.1Internationalized/localizedisar: ^3.1.0+1Local database Isarisar_flutter_libs: ^3.1.0+1Flutter binaries for the Isar Databaseisar_generator: ^3.1.0+1Code generator for the Isar Databasebuild_runner: ^2.4.5Generating files using Dart codepath_provider: ^2.0.15Finding commonly used locations on the filesystemflutter_staggered_grid_view: ^0.6.2Provides 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








