Proyecto Master-Detail simple donde implementar todo lo relacionado con esta tecnología. Necesitas un APIKEY de Chatgpt.
Este proyecto utiliza una Clean Architecture, busco separar la lógica en capas para mejorar la modularidad, flexibilidad y mantenibilidad.
Para la interfaz de usuario he combinado el patrón de diseño MVVM (Model-View-ViewModel).
Capa | Función |
---|---|
Data | En esta capa, nos enfocamos en la manipulación de datos y la interacción con la capa de almacenamiento local y remoto. Room, nuestra base de datos local, se utiliza para el almacenamiento persistente de datos, permitiendo una gestión eficiente y escalable de la información. |
Di | La capa de Inyección de Dependencias (DI) es esencial para proporcionar una estructura flexible y desacoplada. Utilizando Koin, un inyector de dependencias ligero, logramos una configuración más sencilla y mantenible. Esto facilita la gestión de componentes y la sustitución de implementaciones, promoviendo la reutilización del código. |
Domain | En el corazón de la aplicación, la capa Domain alberga la lógica de negocio. Aquí definimos las reglas y procesos fundamentales que gobiernan la aplicación, asegurando que la funcionalidad cumpla con los requisitos y objetivos del negocio. |
Model | Esta capa se encarga de definir los modelos de datos utilizados en la aplicación. Estos modelos actúan como representaciones estructuradas de la información que fluye a través de la aplicación, facilitando la consistencia y la comprensión de los datos en todas las capas. |
Presentación | La capa de Presentación se centra en la interfaz de usuario y la interacción del usuario. Implementando el patrón MVVM, separamos la lógica de presentación (ViewModel) de la interfaz de usuario (View), lo que facilita la escalabilidad y prueba de la aplicación. LiveData se utiliza para una actualización reactiva de la interfaz de usuario, manteniendo una experiencia fluida. |
Librerias y herramientas que he utilizado en esta aplicación.
-
Room: Sistema de base de datos local.
-
Koin: Inyector de dependencias para una gestión eficiente de componentes.
-
Componente Navigation: Simplifica la gestión de la navegación entre las distintas partes de la aplicación.
-
ViewBinding: Facilita el acceso a las vistas y mejora la seguridad en la manipulación de las mismas.
-
Live Data: Implementado para una gestión reactiva de los datos.
-
Coroutines: Utilizadas para la gestión de tareas asíncronas, asegurando un rendimiento eficiente.
-
Retrofit - OkHttp: Para la comunicación efectiva con APIs externas.
-
Gson: Herramienta esencial para convertir datos en formato JSON.
-
Animated Button Bar: Incluida como una funcionalidad de navegación entre fragments.
POST https://api.openai.com/v1/completions
Parameter | Type | Description |
---|---|---|
Content-Type | application/json | |
Bearer api_key |
string |
Required. Your API key |
Parameter | Type |
---|---|
model |
string |
prompt |
string |
max_tokens |
int |
temperature |
int |
El feedback es vital para aprender y mejorar.
Debatir y aportar ideas permite aprender y forjarse en el camino, puedes enviarme un mensaje a mí linkedIn.