Desarrollo de una aplicación full-stack para la geolocalización de productos alimenticios
Autor
Falcón Casanova, TanausúFecha
2023Resumen
Esta memoria detalla el proceso de desarrollo de un API REST para el almacenamiento y consulta de información sobre productos alimenticios, con sus valores nutricionales, precios en tiendas y ubicaciones, así como la creación de una aplicación móvil que haga uso de la misma. Las funcionalidades implementadas por esta aplicación permiten añadir productos con sus valores nutricionales, al igual que el precio y geolocalización en supermercados y tiendas donde fueron encontrados. Además, el API recoge un histórico de precios, con el que se puede realizar la comparativa en distintas tiendas a lo largo del tiempo. El API REST se ha desarrollado con Node.js y Express. Para la aplicación móvil, se ha utilizado el framework de React Native, junto con el ecosistema de herramientas de Expo para facilitar el desarrollo tanto en la plataformas de iOS como Android. Por último, la base de datos elegida es MongoDB, haciendo uso del modelado de datos de Mongoose. Todo el código ha sido implementado con el lenguaje de programación TypeScript. Con todo ello, se ha podido tener un mayor entendimiento de los APIs REST y el desarrollo de aplicaciones móviles. Las mayores dificultades se han encontrado en los inicios del proyecto, y se ha necesitado un tiempo de aprendizaje sobre el entorno de desarrollo móvil. Algunas mejoras a implementar es el añadido de imágenes para productos, la documentación del API, las pruebas en la aplicación y el rediseño de pantallas para mejorar la experiencia de usuario. This memory details the development process of a REST API for storing and querying information about food products, with their nutritional values, prices in stores and locations, as well as the creation of a mobile application that uses it. The features implemented by this application allow adding products with their nutritional values, besides the price and location in supermarkets and stores where they were found. In addition, the API collects a price history, with the posibility to compare prices in different stores over time. The API REST has been developed with Node.js and Express. For the mobile app, the React Native framework has been used, toguether with the Expo ecosystem of tools to facilitate development on both iOS and Android platforms. Finally, the database chosen is MongoDB, making use of Mongoose data modeling. All the code has been implemented with TypeScript programming language. With all this, a better understanding of REST APIs and the development of mobile applications has been achieved. The greatest difficulties have been encountered at the beginning of the project, and it has taken time learning about the mobile development environment. Some improvements to be made are the addition of images for products, API documentation, in-app testing, and screen redesign to improve the user experience