GithubHelp home page GithubHelp logo

pablomediero / recipesandroid Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 1.64 MB

Android Project

Kotlin 100.00%
clean-architecture coroutines gson koin livedata mmvm navigation-component retrofit room-database mvvm okhttp okhttp-interceptor viewbinding android chatgpt-api kotlin

recipesandroid's Introduction

Android Recipes

Proyecto Master-Detail simple donde implementar todo lo relacionado con esta tecnología. Necesitas un APIKEY de Chatgpt.

Arquitectura

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.

Librerías

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.

Chatgpt API

Ejemplo

  POST https://api.openai.com/v1/completions

Headers

Parameter Type Description
Content-Type application/json
Bearer api_key string Required. Your API key

Data

Parameter Type
model string
prompt string
max_tokens int
temperature int

Autor

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.

recipesandroid's People

Contributors

pablomediero avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.