Mostrar el registro sencillo del ítem

dc.contributor.advisorCárdenas Arenas, Juan Sebastián
dc.contributor.authorCastellanos Becerra, José Daniel
dc.contributor.authorNiño Parada, Emerson Giovanni
dc.coverage.spatialColombiaspa
dc.date.accessioned2022-04-22T15:16:39Z
dc.date.available2022-04-22T15:16:39Z
dc.date.issued2021
dc.identifier.urihttp://hdl.handle.net/20.500.12749/16258
dc.description.abstractEl propósito de este proyecto fue desarrollar una aplicación móvil para el sistema operativo Android que permita realizar la búsqueda de recetas por medio de cuatro alternativas diferentes, asimismo que pudiera recomendar recetas basadas en el historial particular de cada usuario, esto se logró utilizando algoritmos de inteligencia artificial. Para dar cumplimiento y desarrollar lo planteado anteriormente fue necesario emplear la metodología de desarrollo de cascada que consiste en dividir el desarrollo en cinco fases diferentes que nos permiten definir una serie de actividades para cada fase y así estructurar el desarrollo en el tiempo para cumplir con el alcance definido. Las fases mencionadas previamente son requerimientos de software, diseño, implementación, verificación, y construcción de la documentación. Para la fase de requerimientos se realizaron encuestas y entrevistas a los posibles usuarios de la aplicación para conocer sobre las habilidades culinarias y preferencias de las personas a la hora de buscar nuevas recetas. En la fase de diseño se construyeron los mockups para tener una idea visual de cómo quedaría la aplicación, y todos los diagramas pertinentes y necesarios para tener una idea global del funcionamiento del sistema y de los componentes que la conforman. El desarrollo del sistema estuvo compuesto por la construcción de tres componentes: la aplicación móvil, un API REST para la búsqueda de recetas y otro con el módulo de recomendaciones basado en contenido. La aplicación móvil se desarrolló haciendo uso del IDE Android Studio, siguiendo un patrón de arquitectura basado en MVVM sin el componente View Model. Las API REST se desplegaron en Node.js y Django, la primera se encarga de gestionar las recetas y usuarios almacenados en una base de datos no relacional alojada en MongoDB y la segunda se encarga del algoritmo de recomendaciones. Finalmente, mediante el uso de librerías y algoritmos de inteligencia artificial, el módulo de recomendaciones presenta sugerencias de recetas basándose en el contenido que ve el usuario.spa
dc.description.tableofcontentsLISTA DE TABLAS 6 LISTA DE FIGURAS 7 LISTA DE ANEXOS 10 RESUMEN 11 INTRODUCCIÓN 12 CAPÍTULO 1: MARCO REFERENCIAL 13 MARCO CONCEPTUAL 13 Lenguaje de programación 13 POO 14 Python 16 Java 17 JVM (Java Virtual Machine) 18 Framework 19 Django 20 API (Application programing interface) 20 API REST 21 Entorno de desarrollo integrado (IDE) 22 Android Studio 22 Android 23 Arquitectura de Android 24 Versiones de Android 26 Inteligencia Artificial 27 Machine learning 28 Sistema de recomendación 28 Los filtros colaborativos 29 Los filtros basados en contenido 29 Metodología de desarrollo de software 29 Git 30 GitHub 30 ESTADO DEL ARTE 32 CAPÍTULO 2: METODOLOGÍA DE DESARROLLO Y ACTIVIDADES 38 METODOLOGÍA DE DESARROLLO 38 ACTIVIDADES 40 CAPÍTULO 3: DESARROLLO DE LA SOLUCIÓN TECNOLÓGICA 43 FASE 1: REQUISITOS DEL SOFTWARE 43 Definición de las preguntas de la encuesta 43 Definición de las preguntas de la entrevista 44 Clasificación de los resultados obtenidos 45 Redacción del acta de requerimientos 46 FASE 2: DISEÑO DE LA APLICACIÓN 46 Realización los mockups de todas las vistas de la aplicación. 46 Construcción del modelo relacional del software. 47 Construcción del modelo de casos de uso. 48 Construcción del diagrama de clases. 50 Construcción del documento de arquitectura del software. 50 FASE 3: DESARROLLO DEL SISTEMA 51 Definición del API REST 52 Realizar la conexión al API REST de Spoonacular 61 Desarrollar el módulo de autenticación del API REST 61 Construir las vistas de la aplicación móvil 64 Construir la lógica de la aplicación móvil 79 Creación del módulo de recomendaciones basado en contenido 113 Integrar el módulo de recomendación con la aplicación 117 FASE 4: CONSTRUIR LA DOCUMENTACIÓN 117 Diseñar un manual de instalación del API REST 117 Diseñar un manual de usuario de la aplicación móvil. 126 Construir el documento final de trabajo de grado. 126 CONCLUSIONES 128 RECOMENDACIONES O TRABAJOS FUTUROS 129 REFERENCIAS BIBLIOGRÁFICAS 130 ANEXOS 135spa
dc.format.mimetypeapplication/pdfspa
dc.language.isospaspa
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/2.5/co/*
dc.titlePrototipo de aplicación móvil para la sugerencia de recetas culinarias utilizando algoritmos de inteligencia artificialspa
dc.title.translatedMobile application prototype for the suggestion of culinary recipes using artificial intelligence algorithmsspa
dc.degree.nameIngeniero de Sistemasspa
dc.publisher.grantorUniversidad Autónoma de Bucaramanga UNABspa
dc.rights.localAbierto (Texto Completo)spa
dc.publisher.facultyFacultad Ingenieríaspa
dc.publisher.programPregrado Ingeniería de Sistemasspa
dc.description.degreelevelPregradospa
dc.type.driverinfo:eu-repo/semantics/bachelorThesis
dc.type.localTrabajo de Gradospa
dc.type.coarhttp://purl.org/coar/resource_type/c_7a1f
dc.subject.keywordsSystems engineerspa
dc.subject.keywordsTechnological innovationsspa
dc.subject.keywordsFeedingspa
dc.subject.keywordsCookspa
dc.subject.keywordsPrescriptionsspa
dc.subject.keywordsMobile appspa
dc.subject.keywordsArtificial intelligencespa
dc.subject.keywordsPrototype developmentspa
dc.subject.keywordsAlgorithmsspa
dc.subject.keywordsSimulation methodsspa
dc.subject.keywordsProgramming languagespa
dc.identifier.instnameinstname:Universidad Autónoma de Bucaramanga - UNABspa
dc.identifier.reponamereponame:Repositorio Institucional UNABspa
dc.type.hasversioninfo:eu-repo/semantics/acceptedVersion
dc.rights.accessrightsinfo:eu-repo/semantics/openAccessspa
dc.relation.referencesAbout: NLTK. (s.f.). Obtenido de DBpedia: https://es.dbpedia.org/page/NLTKspa
dc.relation.referencesAdeva, R. (3 de Marzo de 2021). Qué es Android: todo sobre el sistema operativo de Google. Obtenido de adslzone.net: https://www.adslzone.net/reportajes/software/que-es-android/spa
dc.relation.referencesAlarcón, J. M. (23 de Octubre de 2017). ¿Qué es la máquina virtual de Java o Java Virtual Machine? Obtenido de campusmvp.es: https://www.campusmvp.es/recursos/post/que-es-la-maquina-virtual-de-j ava-o-java-virtual-machine.aspxspa
dc.relation.referencesBasterra, Bertea, Borello, Castillo, & Venturi. (27 de Septiembre de 2017). Android OS Documentation Release 0.1. Obtenido de readthedocs.org: https://readthedocs.org/projects/androidos/downloads/pdf/latest/spa
dc.relation.referencesBetarte, L., Machado, R., & Molina, V. (2006). PGMúsica sistema de recomendación de música. Obtenido de Universidad de la República: https://www.colibri.udelar.edu.uy/jspui/bitstream/20.500.12008/3089/1/tg -betarte.pdfspa
dc.relation.referencesCamino Bueno, P. (3 de Agosto de 2018). Qué es Django y por qué usarlo. Obtenido de openwebinars.net: https://openwebinars.net/blog/que-es-django-y-por-que-usarlo/spa
dc.relation.referencesCasado Losada, A. (10 de Octubre de 2019). Desarrollo de una app para la promoción de hábitos saludables. Obtenido de Universidad Carlos III de Madrid: https://e-archivo.uc3m.es/bitstream/handle/10016/30141/TFG_Adrian_L osada_Casado_2019.pdfspa
dc.relation.referencesCómo crear listas dinámicas con RecyclerView. (s.f.). Obtenido de Developers Android: https://developer.android.com/guide/topics/ui/layout/recyclerview?hl=es419spa
dc.relation.referencesContent, R. R. (20 de Abril de 2019). ¿Qué es un lenguaje de programación y qué tipos existen? Obtenido de rockcontent: https://rockcontent.com/es/blog/que-es-un-lenguaje-de-programacion/spa
dc.relation.referencesDelgado, C. (29 de Marzo de 2021). ¿Qué es un IDE (entorno de desarrollo integrado)? Obtenido de ourcodeworld.co: https://ourcodeworld.co/articulos/leer/1469/que-es-un-ide-entorno-de-de sarrollo-integradospa
dc.relation.referencesDomínguez, P. (2 de Junio de 2020). En qué consiste el modelo en cascada. Obtenido de https://openclassrooms.com: https://openclassrooms.com/en/courses/4309151-gestiona-tu-proyectode-desarrollo/4538221-en-que-consiste-el-modelo-en-cascadaspa
dc.relation.referencesFernández, Y. (30 de Octubre de 2019). Qué es Github y qué es lo que le ofrece a los desarrolladores. Obtenido de xataka.com: https://www.xataka.com/basics/que-github-que-que-le-ofrece-a-desarroll adoresspa
dc.relation.referencesFragmentos. (s.f.). Obtenido de Developers Android: https://developer.android.com/guide/components/fragments?hl=esspa
dc.relation.referencesGalpin, I. (2019). DenunciApp: Diseño e Implementación de una Aplicación Móvil para la Denuncia de Delitos Ambientales. Obtenido de Universidad Santo Tomás: https://repository.usta.edu.co/bitstream/handle/11634/22061/2019Ixentg alpin.pdfspa
dc.relation.referencesGarrido, D. (2 de Noviembre de 2017). Cultura Colectiva. Obtenido de https://culturacolectiva.com/comida/enfermedades-por-comer-en-la-callespa
dc.relation.referencesGil, Y. (17 de Julio de 2017). Foodiefy, más que una app de recetas. Obtenido de Universidad Politécnica de Cataluña: https://upcommons.upc.edu/bitstream/handle/2117/107621/Memoria-TF G_YtarteRoger.pdfspa
dc.relation.referencesGomez Jaramillo, S., Mora Ruiz, A., & Lema Perez, J. F. (13 de Diciembre de 2018). Desarrollo de sistema de recomendacion basado en conocimiento para apoyar la enseñanza del desarrollo web a traves de recursos educativos abiertos. Obtenido de Tecnológico de Antioquia Institución Universitaria: https://dspace.tdea.edu.co/handle/tda/448spa
dc.relation.referencesGonzález, A. (s.f.). ¿Qué es Machine Learning? Obtenido de cleverdata.io: https://cleverdata.io/que-es-machine-learning-big-data/spa
dc.relation.referencesGonzález, A. (s.f.). Sistemas de recomendación de contenido con Machine Learning. Obtenido de cleverdata.io: https://cleverdata.io/sistemas-recomendacion-machine-learning/spa
dc.relation.referencesHernández Rojas, N. M. (2019). Recomendación de cursos basada en filtrado colaborativo e información de perfiles sociales y estudiantiles. Obtenido de Universidad de los Andes: https://repositorio.uniandes.edu.co/bitstream/handle/1992/44578/u8307 18.pdfspa
dc.relation.referencesMarin Rios, J. S. (Noviembre de 2019). Aplicación móvil “TecnoWilly”. Obtenido de Corporación Universitaria Minuto de Dios Uniminuto Sede Bello: https://repository.uniminuto.edu/bitstream/handle/10656/11141/T.TI_Marí nRiosJuanSebastian_2019.pdfspa
dc.relation.referencesMartínez Canelo, M. (2 de Noviembre de 2020). ¿Qué es la Programación Orientada a Objetos? Obtenido de profile.es: https://profile.es/blog/que-es-la-programacion-orientada-a-objetos/spa
dc.relation.referencesNúñez Valdéz, E. R. (6 de Julio de 2012). Sistemas de recomendación de contenidos para libros inteligentes. Obtenido de Universidad de Oviedo: https://digibuo.uniovi.es/dspace/handle/10651/13126spa
dc.relation.referencesOracle. (s.f.). ¿Qué es la Inteligencia Artificial? Obtenido de oracle.com: https://www.oracle.com/co/artificial-intelligence/what-is-ai/spa
dc.relation.referencesOrts Romero, J. V. (Julio de 2016). Aplicación Web: Recetarium. Obtenido de Universidad de Alicante: https://rua.ua.es/dspace/bitstream/10045/57066/1/Recetario_Tus_recet as_siempre_contigo_ORTS_ROMERO_JOSE_VICENTE.pdfspa
dc.relation.referencesPavón Piedra, C. G. (2020). Análisis, diseño y desarrollo de un aplicativo móvil para obtener recetas de cocina en base a ingredientes que se tengan a la mano. Obtenido de Pontificia Universidad Católica del Ecuador: http://repositorio.puce.edu.ec/bitstream/handle/22000/18058/TrabajoDis ertacionCarlosPavon%20%281%29.pdfspa
dc.relation.referencesPérez, A. (26 de Junio de 2016). ¿Qué son las metodologías de desarrollo de software? Obtenido de obsbusiness.school: https://www.obsbusiness.school/blog/que-son-las-metodologias-de-desa rrollo-de-softwarespa
dc.relation.referencesPreprocesamiento de datos con sklearn. (s.f.). Obtenido de Universitat Oberta de Catalunya: http://datascience.recursos.uoc.edu/es/preprocesamiento-de-datos-consklearn/spa
dc.relation.referencesRecomendaciones basado en contenido en Python. (s.f.). Obtenido de Stat Developer: https://www.statdeveloper.com/recomendaciones-basado-en-contenidoen-python/spa
dc.relation.referencesRedHat. (s.f.). ¿Qué es una API de REST? Obtenido de redhat.com: https://www.redhat.com/es/topics/api/what-is-a-rest-apispa
dc.relation.referencesRedHat. (s.f.). Qué son las API y para qué sirven. Obtenido de redhat.com: https://www.redhat.com/es/topics/api/what-are-application-programminginterfacesspa
dc.relation.referencesRobledano, Á. (23 de Septiembre de 2019). Qué es Python: Características, evolución y futuro. Obtenido de OpenWebinars: https://openwebinars.net/blog/que-es-python/spa
dc.relation.referencesRodríguez Sirgado, M. (Agosto de 2011). EAE Business School. Obtenido de https://www.abc.es/gestordocumental/uploads/Sociedad/comida-rapida. pdfspa
dc.relation.referencesRubio, J. C. (25 de Febrero de 2019). Qué es GIT y para qué sirve. Obtenido de openwebinars.net: https://openwebinars.net/blog/que-es-git-y-para-que-sirve/spa
dc.relation.referencesSánchez, A. (4 de Octubre de 2020). La librería Numpy. Obtenido de Aprende con Alf: https://aprendeconalf.es/docencia/python/manual/numpy/spa
dc.relation.referencesSEAS, E. S. (17 de Julio de 2019). Conoce el lenguaje de programación Java. Obtenido de seas.es: https://www.seas.es/blog/informatica/conoce-el-lenguaje-de-programaci on-java/spa
dc.relation.referencesTena, M. (28 de Agosto de 2020). ¿Qué es la metodología 'agile'? Obtenido de bbva.com: https://www.bbva.com/es/metodologia-agile-la-revolucion-las-formas-tra bajo/spa
dc.relation.referencesTorre, M. (2021). ¿Qué es un framework y para qué se utiliza? Obtenido de ondesarrollo.com: https://ondesarrollo.com/que-es-un-framework-y-para-que-se-utiliza/spa
dc.relation.referencesTraslaviña Amador, D. C. (12 de Abril de 2019). America Retail. Obtenido de https://www.america-retail.com/colombia/colombia-colombianos-cada-ve z-comen-mas-fuera-de-casa/spa
dc.relation.referencesTrecet, J. (28 de Agosto de 2018). El blog de Aegon. Obtenido de https://blog.aegon.es/ahorro/cuanto-ahorras-de-verdad-cocinando-en-ca sa/spa
dc.relation.referencesUso de CountVectorizer para extraer características de texto. (s.f.). Obtenido de Acervo Lima: https://es.acervolima.com/2021/02/09/uso-de-countvectorizer-para-extra er-caracteristicas-de-texto/spa
dc.relation.referencesVásquez Pluas, D. P. (2020). Desarrollo de un prototipo mooc para el análisis de preferencia, predicción y progresos de usuarios, mediante sistemas de recomendación basados en deep learning. Obtenido de Repositorio Institucional de la Universidad de Guayaquil: http://repositorio.ug.edu.ec/bitstream/redug/49550/1/B-CISC-PTG-18012020%20Vásquez%20Pluas%2c%20Douglas%20Paul.pdfspa
dc.relation.referencesVillanueva Mejía, G. J., Sánchez Corea, D. M., & Frank, M. T. (2019). Desarrollo de una app móvil para dispositivos con sistema operativo Android, que servirá como diccionario digital español-mayangna. Obtenido de Universidad Nacional Autónoma de Nicaragua: http://riul.unanleon.edu.ni:8080/jspui/bitstream/123456789/7088/1/2420 54.pdfspa
dc.contributor.cvlacCárdenas Arenas, Juan Sebastián [0001387212]spa
dc.contributor.cvlacCárdenas Arenas, Juan Sebastián [0001387212]
dc.subject.lembIngeniería de sistemasspa
dc.subject.lembInnovaciones tecnológicasspa
dc.subject.lembDesarrollo de prototiposspa
dc.subject.lembAlgoritmosspa
dc.subject.lembMétodos de simulaciónspa
dc.subject.lembLenguaje de programaciónspa
dc.identifier.repourlrepourl:https://repository.unab.edu.cospa
dc.description.abstractenglishThe purpose of this project was to develop a mobile application for the Android operating system that allows searching for recipes through four different alternatives, as well as being able to recommend recipes based on the particular history of each user, this was achieved using intelligence algorithms. artificial. In order to comply with and develop what was stated above, it was necessary to use the waterfall development methodology, which consists of dividing the development into five different phases that allow us to define a series of activities for each phase and thus structure the development over time to comply with the objective. defined scope. The previously mentioned phases are software requirements, design, implementation, verification, and documentation construction. For the requirements phase, surveys and interviews were conducted with potential users of the application to learn about the culinary skills and preferences of people when looking for new recipes. In the design phase, the mockups were built to have a visual idea of ​​how the application would look like, and all the pertinent and necessary diagrams to have a global idea of ​​the operation of the system and the components that make it up. The development of the system was made up of the construction of three components: the mobile application, a REST API for searching recipes and another with the content-based recommendation module. The mobile application was developed using the Android Studio IDE, following an architecture pattern based on MVVM without the View Model component. The REST APIs were deployed in Node.js and Django, the first one is in charge of managing the recipes and users stored in a non-relational database hosted in MongoDB and the second one is in charge of the recommendation algorithm. Finally, through the use of artificial intelligence libraries and algorithms, the recommendation module presents recipe suggestions based on the content that the user sees.spa
dc.subject.proposalAlimentaciónspa
dc.subject.proposalCocinarspa
dc.subject.proposalRecetasspa
dc.subject.proposalAplicación móvilspa
dc.subject.proposalAPI RESTspa
dc.subject.proposalInteligencia artificialspa
dc.type.redcolhttp://purl.org/redcol/resource_type/TP
dc.rights.creativecommonsAtribución-NoComercial-SinDerivadas 2.5 Colombia*
dc.coverage.campusUNAB Campus Bucaramangaspa
dc.description.learningmodalityModalidad Presencialspa
dc.contributor.linkedinCárdenas Arenas, Juan Sebastián [juan-sebastián-cárdenas-arenas-58904a186]


Ficheros en el ítem

Thumbnail
Thumbnail

Este ítem aparece en la(s) siguiente(s) colección(ones)

Mostrar el registro sencillo del ítem

Atribución-NoComercial-SinDerivadas 2.5 Colombia
Excepto si se señala otra cosa, la licencia del ítem se describe como Atribución-NoComercial-SinDerivadas 2.5 Colombia