Presentacin Proyecto Final iOS PDF
Document Details
Uploaded by PoliteSacramento4285
Tecsup
2024
Tags
Summary
This is a presentation of a mobile application development project in iOS. It details how the Quedu app was developed, including the objectives, design, features, problems encountered during development, and solutions implemented. The presentation is for the 2024-II academic period.
Full Transcript
Quedu DESARROLLO DE QUEDU UNA APLICACIÓN MÓVIL EN IOS QUEDU Estudiantes: Bejarano Trujillano Diego Armando Ccama Apaza Gabriel Anderson Quispe Guzman Ribeyro Sayder Pisconte Chuctaya Santiago Joel Kana Choquenaira Willian Alberth...
Quedu DESARROLLO DE QUEDU UNA APLICACIÓN MÓVIL EN IOS QUEDU Estudiantes: Bejarano Trujillano Diego Armando Ccama Apaza Gabriel Anderson Quispe Guzman Ribeyro Sayder Pisconte Chuctaya Santiago Joel Kana Choquenaira Willian Alberth 2024 - II Quedu Introducción(¿Que es Quedu?) CONTENIDO Objetivos Requerimientos A Problemas en la implementación Investigación desarrollada TRATAR Estructura del Diseño Conclusiones Quedu QUEDU Quedu Quedu > ¿Que es quedu? ¿QUE ES QUEDU? Quedu es una plataforma educativa innovadora que utiliza inteligencia artificial (IA) para transformar la experiencia de aprendizaje. Su característica principal es proporcionar retroalimentación inmediata y personalizada después de que los estudiantes resuelvan pruebas generadas automáticamente. Por ejemplo, si un estudiante responde incorrectamente, la plataforma explica el motivo del error; si responde correctamente, refuerza su comprensión indicando por qué la respuesta es adecuada. Quedu Quedu > Objetivo General OBJETIVO Desarrollar una aplicación móvil educativa en iOS que integre herramientas de inteligencia artificial, manejo seguro de datos, y diseño interactivo, con el objetivo de personalizar el aprendizaje mediante generación de quedus dinámicos, retroalimentación inmediata y funcionalidades colaborativas que fomenten el desarrollo académico de los estudiantes. Quedu Quedu > Objetivos Específicos OBJETIVOS ESPECÍFICOS Incorporar funcionalidades que permitan la creación, personalización y resolución de quedus utilizando herramientas de inteligencia artificial. Mejorar la experiencia del usuario mediante el diseño de interfaces interactivas y responsivas, implementando buenas prácticas de personalización y reusabilidad de componentes en UIKit. Diseñar e implementar una arquitectura segura y escalable que permita a la aplicación manejar documentos cargados por los usuarios y procesarlos mediante integración con la API de ChatGPT. Realizar pruebas funcionales en emuladores y dispositivos móviles para asegurar que las principales características de la aplicación, como la generación de quedus y la carga de documentos, funcionen correctamente y sean intuitivas para los usuarios. Quedu Quedu > Requerimientos Uso de Software Externo En la aplicación Quedu, se integró la API de ChatGPT para procesar textos y generar quedus personalizados, aprovechando la capacidad de este modelo de inteligencia artificial. Esta funcionalidad permite analizar documentos cargados por los usuarios, como archivos PDF, y transformarlos en contenido educativo adaptado. La integración se logró mediante una lógica eficiente entre el backend y la API, utilizando el paquete axios para enviar datos y recibir respuestas en tiempo real. Este proceso incluyó validaciones y manejo de errores, garantizando una operación estable y ajustada a las necesidades del proyecto, destacando como una innovación clave en el aprendizaje personalizado. Quedu Quedu > Requerimientos Implementación de FrontEnd con Xcode en Swift con las siguientes dependencias. Quedu Quedu > Problemas en la implementación Problemas Encontrados Durante la Implementación Problema 1: Conexión Inestable con la API Descripción: La conexión con la API fallaba al no manejar correctamente los errores de red o URL incorrecta. Impacto: La app podría no realizar solicitudes de autenticación ni recibir respuestas adecuadas de la API. Problema 2: Sincronización de hilos secundarios Descripción: La interfaz de usuario o navegación entre segues no se actualizaba correctamente si las modificaciones se realizaban en un hilo incorrecto. Impacto: Podía haber bloqueos o inconsistencias en la UI. Quedu Quedu > Problemas en la implementación Problemas Encontrados Durante la Implementación Problema 3: Gestión de Errores Insuficiente en la API Descripción: El manejo de errores no era suficiente, lo que podía provocar respuestas incorrectas o fallos en la app. Impacto: La app no gestiona correctamente los errores HTTP o las respuestas inesperadas. Problema 4: Token JWT no enviado correctamente en el header Descripción: El token JWT estaba siendo enviado en el campo Authorization del encabezado, lo que causaba un error al hacer peticiones. Impacto: El servidor no reconocía el token y las solicitudes no eran procesadas correctamente, resultando en fallos de autenticación. Quedu Quedu > Problemas en la implementación Soluciones Implementadas para los Problemas Identificados Problema 1: Conexión Inestable con la API Solución: Actualmente se maneja los errores de conexión utilizando “guard” y presenta mensajes de alerta al usuario en caso de fallo, garantizando una interacción más fluida. Resultados: Ahora se reciben mensajes claros si hay un problema de conexión, mejorando la calidad de la aplicación. Problema 2: Sincronización de hilos secundarios Solución: El código asegura que las actualizaciones de la UI se realicen en el hilo principal usando DispatchQueue.main.async. Resultados: La UI se actualiza y navega de forma fluida, sin bloqueos, mejorando la experiencia del usuario. Quedu Quedu > Problemas en la implementación Soluciones Implementadas para los Problemas Identificados Problema 3: Sincronización de hilos secundarios Solución: El código asegura que las actualizaciones de la UI se realicen en el hilo principal usando DispatchQueue.main.async. Resultados: La UI se actualiza y navega de forma fluida, sin bloqueos, mejorando la experiencia del usuario. Problema 4: Token JWT no enviado correctamente en el header Solución: Se modificó el encabezado de la solicitud para enviar el token en el campo x-access-token en lugar de Authorization. Resultados: Las solicitudes ahora son procesadas correctamente, ya que el token JWT se envía en el encabezado adecuado, permitiendo una autenticación exitosa. Quedu Quedu > Problemas en la implementación Gestión de Errores en el Desarrollo del Código Uso de guard para la decodificación del token JWT Uso de do-catch en funciones para las peticiones a la APIs Quedu Quedu > Problemas en la implementación Gestión de Errores en el Desarrollo del Código Uso de DispatchQueue para manejo de hilos secundarios y principal Quedu Quedu > Problemas en la implementación Gestión de Errores en el Desarrollo del Código Funcion para mostrar alertas en Swift Quedu Quedu > Investigación desarrollada HERRAMIENTAS Y TEMAS ADICIONALES UTILIZADOS FUERA DEL CURSO Integración de la API de ChatGPT Quedu Quedu > Investigación desarrollada HERRAMIENTAS Y TEMAS ADICIONALES UTILIZADOS FUERA DEL CURSO Panel de Uso de la API de ChatGPT Quedu Quedu > Investigación desarrollada HERRAMIENTAS Y TEMAS ADICIONALES UTILIZADOS FUERA DEL CURSO Panel de Uso de la API de ChatGPT Quedu Quedu > Investigación desarrollada TRABAJO DE INVESTIGACIÓN PARA RESOLVER PROCESOS EN LA APLICACIÓN Integración de la API de ChatGPT en Quedu Durante el desarrollo de Quedu, se integró la API de ChatGPT para procesar textos y generar quizzes personalizados, seleccionándola por su facilidad de uso y calidad de respuestas frente a alternativas como Dialogflow. El proceso incluyó la configuración inicial, conexión con el backend usando axios, diseño de prompts personalizados y pruebas iterativas para optimizar resultados. Aunque surgieron desafíos, como manejar límites de uso y ajustar tiempos de respuesta, la integración permitió aprovechar herramientas avanzadas de inteligencia artificial, transformando documentos en contenido educativo dinámico y adaptado a las necesidades de los usuarios. Quedu Quedu > Investigación desarrollada ACCIONES ADICIONALES IMPLEMENTADAS EN EL PROYECTO Desarrollo Multiplataforma e Integración con Backend Unificado La aplicación Quedu fue desarrollada con React Native, permitiendo una base de código única para Android y web, lo que facilitó el desarrollo y garantizó una experiencia consistente en ambas plataformas mediante componentes reutilizables. Además, se utilizó un backend centralizado para sincronizar datos en tiempo real entre clientes web y móviles, empleando RESTful APIs para una comunicación fluida y eficiente. Esto mejoró la interacción del usuario y la escalabilidad del sistema. Quedu Quedu > Estructura del Diseño DISEÑO DE UI DEL LOGIN, REGISTER Y HOME Quedu Quedu > Estructura del Diseño DISEÑO DE UI DE CURSOS, CURSO Y EDITAR CURSO Quedu Quedu > Estructura del Diseño DISEÑO DE UI DE LISTA DE QUEDUS Quedu Quedu > Estructura del Diseño DISEÑO DE CREAR QUEDU Y RESOLVER QUEDU Quedu Quedu > Estructura del Diseño DISEÑO DE UI DE COMUNIDADES, COMUNIDAD Y CREAR COMUNIDAD Quedu Quedu > Conclusiones La aplicación móvil educativa Quedu cumplió con el propósito planteado al integrar herramientas tecnológicas avanzadas, como inteligencia artificial mediante la API de ChatGPT, para la personalización del aprendizaje. También se lograron implementar funcionalidades colaborativas que promueven la autonomía en el estudio, posicionándola como una herramienta innovadora y útil para los estudiantes. Se logró llevar a cabo la integración efectiva de la API de ChatGPT, lo que permitió a los usuarios generar quedus dinámicos y personalizados. Estas funcionalidades fortalecen la experiencia de aprendizaje al adaptarse a las necesidades individuales de los estudiantes. El diseño y la interacción de las interfaces se realizaron con éxito utilizando UIKit, logrando una experiencia visual y funcional atractiva que facilita la navegación y fomenta un uso intuitivo de la aplicación. La arquitectura desarrollada permite un manejo eficiente de documentos y su procesamiento, cumpliendo con los requisitos funcionales del proyecto y mostrando potencial para ser escalada en futuros desarrollos. Las pruebas realizadas en emuladores demostraron que las principales características de la aplicación son funcionales y ofrecen una experiencia fluida e intuitiva para los usuarios, cumpliendo con los objetivos establecidos.