0% encontró este documento útil (0 votos)
34 vistas2 páginas

Proyecto Web 3

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
34 vistas2 páginas

Proyecto Web 3

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Desarrollar una aplicación full stack que permita gestionar información en una base de datos

relacional. Esta aplicación estará compuesta por tres partes principales:

1. Base de Datos Relacional: Utilizar el motor de base de datos relacional de


preferencia (por ejemplo, PostgreSQL, MySQL o MariaDB). La base de datos debe
contener al menos 10 tablas, estructuradas de forma que representen
adecuadamente las entidades de la aplicación. Las tablas deben estar relacionadas
mediante claves foráneas para simular escenarios reales de relaciones entre
entidades (por ejemplo, uno a muchos, muchos a muchos).
2. Backend con NestJS:
○ Implementar un microservicio en NestJS utilizando TypeScript.
○ La arquitectura debe dividirse en Services, Controllers, Models, y DTOs,
siguiendo principios de SOLID y buenas prácticas de programación.
○ Cada controlador debe exponer rutas (endpoints) para realizar operaciones
CRUD en cada entidad de la base de datos, sumando un total de 40 rutas
(incluyendo GET, POST, PUT y DELETE).
○ La lógica de negocio y validaciones deben realizarse exclusivamente en el
backend.
○ Cache de Datos: Implementar un sistema de cache para reducir tiempos de
respuesta y mejorar la eficiencia de las consultas a la base de datos.
○ Especificar en la documentación de la API los endpoints y los datos que
espera cada uno, incluyendo ejemplos de solicitudes y respuestas para cada
método.
3. Frontend:
○ Utilizar Vue, Angular, o React (a elección) para el desarrollo del frontend.
Este debe estar escrito en TypeScript.
○ El frontend deberá conectarse con el backend a través de las API REST,
consumiendo y mostrando toda la información necesaria de forma interactiva.
○ Debe ofrecer una interfaz de usuario limpia y fácil de usar, que permita
realizar operaciones CRUD para todas las entidades.
○ Toda la lógica de negocio debe estar en el backend; el frontend solo debe
encargarse de la visualización y de enviar/recibir datos.

Requerimientos Adicionales

● Documentación del Proyecto: Se debe proporcionar un archivo README con


instrucciones para instalar y ejecutar tanto el backend como el frontend. Incluir una
descripción general del proyecto, instrucciones para configurar el entorno, y una guía
para hacer pruebas básicas.
● Código: Todo el código debe estar correctamente documentado y seguir una
estructura legible. Se recomienda el uso de comentarios y nombres descriptivos para
las variables, métodos y clases.
● Validación: Implementar validaciones tanto en el backend (usando, por ejemplo, la
biblioteca class-validator) como en el frontend para mejorar la experiencia del
usuario.

Entrega

El proyecto debe entregarse mediante un repositorio privado en GitHub.

La estructura completa del proyecto con los directorios del backend y frontend separados.

● Un archivo README bien documentado con instrucciones para instalación y uso.


Puntos Adicionales

Para aquellos que deseen ampliar sus conocimientos, se otorgarán puntos adicionales por
la implementación de los siguientes elementos:

● Pruebas Unitarias: Implementación de pruebas para servicios y controladores en el


backend.
● Dockerización: Creación de archivos Docker para desplegar el backend, frontend y
base de datos como contenedores. Esto permitirá una configuración más sencilla y
reproducible del entorno del proyecto.

También podría gustarte