Definición del Proyecto
Desarrollar un tracker de criptomonedas que permita a los usuarios registrados realizar un seguimiento en tiempo real del precio y otras métricas relevantes de diversas criptomonedas. El sistema incluirá funcionalidades como registro y autenticación de usuarios, gestión de perfiles, funcionalidades de CRUD y paneles de logs.
Equipo
Scrum Master: Responsable de garantizar que el equipo siga los principios y prácticas de Scrum y de eliminar los obstáculos que puedan surgir durante el desarrollo.
Desarrollador Backend: Encargado de desarrollar la lógica del servidor y la integración con la base de datos.
Desarrollador Frontend: Responsable de implementar la interfaz de usuario y la experiencia de usuario.
Tester/Automatizador: Encargado de realizar pruebas unitarias y automatizadas para garantizar la calidad del software.
Herramientas
Node.js: Plataforma de ejecución de JavaScript.
React: Biblioteca para construir interfaces de usuario.
Visual Studio Code (VS Code): IDE para el desarrollo.
Thunder Client: Extensión para pruebas HTTP.
Firebase: Base de datos en tiempo real y servicios de backend.
PROPUESTA DE PATRON DE DISEÑO
Arquitectura MVC para la Aplicación de Seguimiento de Criptomonedas en React JS:
Modelo (Model):
• El Modelo representa los datos y la lógica de negocio de nuestra aplicación. • En nuestro caso, el Modelo será responsable de manejar los datos de las criptomonedas, como los precios, los nombres, los símbolos, etc.
• Además, el Modelo será responsable de realizar las solicitudes a la API de Coin Gecko y procesar los datos recibidos.
Vista (View):
• La Vista representa la interfaz de usuario de nuestra aplicación. • En React JS, la Vista estará compuesta por componentes funcionales o de clase que renderizan la interfaz de usuario y muestran los datos proporcionados por el Modelo.
• Utilizaremos Material UI para diseñar la interfaz de usuario, incluyendo componentes como tablas, gráficos y tarjetas para mostrar la información de las criptomonedas de manera visualmente atractiva.
Controlador (Controller):
• El Controlador actúa como intermediario entre el Modelo y la Vista. • En nuestra aplicación de React JS, el Controlador será representado por componentes Contenedor que se encargarán de manejar la lógica de negocio y el estado de la aplicación.
• Los componentes Contenedor realizarán las solicitudes a la API de Coin Gecko, procesarán los datos recibidos y los pasarán a los componentes de Vista para su renderizado.
• Además, los componentes Contenedor también manejarán las interacciones del usuario, como la selección de criptomonedas para ver más detalles o la actualización de los precios en tiempo real.
Ventajas de utilizar MVC en nuestra aplicación:
Separación de Responsabilidades: La arquitectura MVC permite una clara separación entre los datos, la lógica de negocio y la presentación de la aplicación, lo que facilita la comprensión y el mantenimiento del código.
Reutilización de Componentes: Al separar la lógica de negocio de la presentación visual, podemos reutilizar los componentes de manera eficiente en diferentes partes de la aplicación.
Facilidad de Pruebas: La separación de las diferentes capas de la aplicación facilita la escritura de pruebas unitarias y de integración, lo que garantiza la calidad y la fiabilidad de nuestro código.
Con esta arquitectura MVC, podemos construir una aplicación de seguimiento de criptomonedas en React JS que sea modular, escalable
Definición del Proyecto Desarrollar un tracker de criptomonedas que permita a los usuarios registrados realizar un seguimiento en tiempo real del precio y otras métricas relevantes de diversas criptomonedas. El sistema incluirá funcionalidades como registro y autenticación de usuarios, gestión de perfiles, funcionalidades de CRUD y paneles de logs.
Equipo Scrum Master: Responsable de garantizar que el equipo siga los principios y prácticas de Scrum y de eliminar los obstáculos que puedan surgir durante el desarrollo. Desarrollador Backend: Encargado de desarrollar la lógica del servidor y la integración con la base de datos. Desarrollador Frontend: Responsable de implementar la interfaz de usuario y la experiencia de usuario. Tester/Automatizador: Encargado de realizar pruebas unitarias y automatizadas para garantizar la calidad del software.
Herramientas Node.js: Plataforma de ejecución de JavaScript. React: Biblioteca para construir interfaces de usuario. Visual Studio Code (VS Code): IDE para el desarrollo. Thunder Client: Extensión para pruebas HTTP. Firebase: Base de datos en tiempo real y servicios de backend.
PROPUESTA DE PATRON DE DISEÑO Arquitectura MVC para la Aplicación de Seguimiento de Criptomonedas en React JS: Modelo (Model): • El Modelo representa los datos y la lógica de negocio de nuestra aplicación. • En nuestro caso, el Modelo será responsable de manejar los datos de las criptomonedas, como los precios, los nombres, los símbolos, etc. • Además, el Modelo será responsable de realizar las solicitudes a la API de Coin Gecko y procesar los datos recibidos. Vista (View): • La Vista representa la interfaz de usuario de nuestra aplicación. • En React JS, la Vista estará compuesta por componentes funcionales o de clase que renderizan la interfaz de usuario y muestran los datos proporcionados por el Modelo. • Utilizaremos Material UI para diseñar la interfaz de usuario, incluyendo componentes como tablas, gráficos y tarjetas para mostrar la información de las criptomonedas de manera visualmente atractiva. Controlador (Controller): • El Controlador actúa como intermediario entre el Modelo y la Vista. • En nuestra aplicación de React JS, el Controlador será representado por componentes Contenedor que se encargarán de manejar la lógica de negocio y el estado de la aplicación. • Los componentes Contenedor realizarán las solicitudes a la API de Coin Gecko, procesarán los datos recibidos y los pasarán a los componentes de Vista para su renderizado. • Además, los componentes Contenedor también manejarán las interacciones del usuario, como la selección de criptomonedas para ver más detalles o la actualización de los precios en tiempo real.
Ventajas de utilizar MVC en nuestra aplicación:
DIAGRAMA DE ARQUITECTURA DIAGRAMA DE DESPLIEGUE
DIAGRAMAS DE CASO DE USO
DIAGRAMA DE SECUENCIA
DIAGRAMA DE ENTIDAD RELACCION
DIAGRAMA DE ARQUITECTURA