Skip to content
Antonio Aviles edited this page May 3, 2023 · 2 revisions

Wiki de Proyecto de Citas para Peluquería

  1. Introducción

Objetivo del proyecto

Alcance del proyecto

Tecnologías utilizadas

  1. Arquitectura y Patrones de Diseño

Arquitectura Onion

Patrón CQRS

Patrón Repository

  1. Desarrollo de API REST

Utilización de NestJS para la creación de la API REST

Endpoints implementados

Autenticación JWT

  1. Bases de Datos

Uso de MongoDB

Modelos de datos

Configuración de la conexión

  1. Testing

Uso de Jest para pruebas unitarias y de integración

Cobertura de pruebas

Configuración del ambiente de pruebas

  1. Integración Continua

Utilización de Github Actions

Configuración del pipeline para despliegue

Pruebas automáticas

  1. Despliegue

Utilización de Docker

Configuración de Dockerfile

Configuración de docker-compose

  1. Conclusiones

Retos enfrentados durante el proyecto

Lecciones aprendidas

Trabajos futuros

Introducción

Este proyecto de citas para peluquería fue desarrollado con el objetivo de ofrecer una herramienta que permita a los clientes programar sus citas de manera eficiente y a los propietarios de peluquerías llevar un control de su agenda de citas.

El alcance del proyecto incluye la implementación de un sistema de autenticación y autorización de usuarios, así como un sistema de reservas de citas y un panel de administración para los propietarios de peluquerías.

Para su desarrollo se utilizaron las siguientes tecnologías:

  • Node.js como lenguaje de programación principal
  • NestJS como framework de desarrollo
  • MongoDB como base de datos
  • Docker para la virtualización de los servicios
  • Git y GitHub para el control de versiones y colaboración en equipo.

Arquitectura y Patrones de Diseño

En esta sección se describen los patrones de diseño y la arquitectura utilizada en el proyecto.

Desarrollo de API REST

En esta sección se describen los detalles del desarrollo de la API REST, incluyendo las tecnologías y herramientas utilizadas, los endpoints implementados y la autenticación JWT.

Bases de Datos

En esta sección se describen los detalles de la base de datos utilizada en el proyecto, incluyendo el tipo de base de datos, los modelos de datos y la configuración de la conexión.

Testing

En esta sección se describen los detalles de la estrategia de pruebas utilizada en el proyecto, incluyendo el uso de Jest para pruebas unitarias y de integración, la cobertura de pruebas y la configuración del ambiente de pruebas.

Integración Continua

En esta sección se describen los detalles de la integración continua en el proyecto, incluyendo la utilización de Github Actions, la configuración del pipeline para despliegue y las pruebas automáticas.

Despliegue

En esta sección se describen los detalles del proceso de despliegue del proyecto, incluyendo la utilización de Docker, la configuración de Dockerfile y docker-compose.

Conclusiones

En esta sección se describen las lecciones aprendidas durante el proyecto, los retos enfrentados y los trabajos futuros que se pueden realizar para mejorar el proyecto.