Skip to content

Bookease es un repositorio para la gestión de reservas en distintos tipos de negocios. Con NestJS y MongoDB como stack principal

License

Notifications You must be signed in to change notification settings

Antonio-112/bookease

Repository files navigation

Bookease

Bookease es un repositorio para la gestión de reservas en distintos tipos de negocios. Este proyecto utiliza NestJS y MongoDB como stack principal y se encuentra en desarrollo. Está destinado únicamente para fines de práctica y aprendizaje.


Índice


Requisitos previos

Para ejecutar este proyecto en su entorno local, debe tener instalado lo siguiente:

  • Node.js (versión recomendada 14.x o superior)
  • MongoDB
  • npm o yarn (recomendado)

Configuración

Siga estos pasos para configurar el entorno del proyecto:

  1. Crear un archivo .env
  2. Renombra el archivo .env.example a .env para solucionarlo.
  3. Editar la configuración del .env según tus necesidades.

Recursos

Dentro de la carpeta "recursos", ubicada en la raíz del proyecto, encontrarás tanto la estructura de carpetas del mismo como la colección Postman para su utilización o prueba.

Estructura simplificada:

src/
├── application/
│   ├── auth/       # Módulo de autenticación, incluye CQRS, estrategias y controladores
│   ├── booking/    # Módulo de reservas, incluye CQRS, servicios y controladores
│   └── user/       # Módulo de usuarios, incluye CQRS, servicios y controladores
├── domain/
│   ├── booking/    # Entidad de reserva y su interfaz de repositorio
│   ├── user/       # Entidad de usuario y su interfaz de repositorio
│   └── login-attempt/ # Entidad de intento de inicio de sesión y su interfaz de repositorio
├── infrastructure/
│   └── mongo/      # Módulo de MongoDB, incluye esquemas y repositorios para cada entidad
├── app.module.ts   # Módulo principal de la aplicación
└── main.ts         # Punto de entrada principal de la aplicación

La estructura de carpetas presentada sigue la arquitectura de NestJS, que es modular y utiliza el patrón CQRS. La aplicación se organiza en capas, incluyendo application, domain e infrastructure. La capa de application contiene la lógica de negocio y los controladores, la capa de domain define las entidades y sus interfaces de repositorio, y la capa de infrastructure maneja la persistencia y conexión con bases de datos, en este caso, MongoDB.

Esta organización en capas y la separación de responsabilidades facilitan la escalabilidad y el mantenimiento del proyecto.


Instalación

Siga los siguientes pasos para instalar el proyecto en su entorno local:

  1. Clone el repositorio:
git clone https://github.com/antonio-112/bookease.git
  1. Cambie al directorio del proyecto:
cd bookease
  1. Instale las dependencias:
npm install

Una vez que haya completado estos pasos, tendrá una copia del proyecto en su entorno local con todas las dependencias necesarias instaladas. Asegúrese de configurar el archivo .env según los requisitos previos y siga las instrucciones de ejecución y desarrollo para comenzar a trabajar con el proyecto.


Desarrollo

Para ejecutar el proyecto en modo de desarrollo, ejecute el siguiente comando:

npm run start:dev

Para ejecutar el proyecto en modo Read-Eval-Print-Loop (REPL)

npm run start:repl

Uso

Para ejecutar el proyecto, ejecute el siguiente comando:

npm run start

o si está utilizando yarn:

yarn start

El servidor se iniciará en el puerto 3000 por defecto. Puede acceder a la API en http://localhost:3000.

Adicionalmente, hay un archivo llamado bookease que contiene una colección Postman en la carpeta resources, la cual puede ser útil para probar los endpoints de la API.


Para iniciar Docker, utilice el siguiente comando:

npm run docker:start

o si está utilizando yarn:

yarn docker:start

Pruebas

Este proyecto utiliza Jest para realizar pruebas unitarias y de integración. Las pruebas se encuentran en la carpeta test del proyecto.

Para ejecutar las pruebas, siga los siguientes pasos:

  1. Asegúrese de estar en el directorio principal del proyecto
  2. Para ejecutar las pruebas, utilice el siguiente comando:
npm run test
  1. Si desea ver el informe de cobertura de las pruebas, utilice el siguiente comando:
npm run test:cov

Al ejecutar las pruebas, Jest generará un informe detallado de los resultados de las pruebas, así como cualquier error o advertencia que pueda encontrar. El informe de cobertura le mostrará qué partes del código han sido probadas y cuáles no, lo que le permitirá mejorar la calidad y la confiabilidad del proyecto.

Asegúrese de mantener las pruebas actualizadas y de agregar nuevas pruebas cuando se introduzcan nuevas características o se realicen cambios significativos en el código.


Contribuciones

Este proyecto es de código abierto y las contribuciones son bienvenidas. Si desea contribuir, siga estos pasos:

  1. Realice un "fork" del repositorio
  2. Clone su fork en su entorno local
  3. Cree una nueva rama con un nombre descriptivo relacionado con la característica o corrección que desea aportar
  4. Realice sus cambios y envíelos
  5. Abra una solicitud de extracción (pull request) desde su repositorio al repositorio original

Al contribuir al proyecto, asegúrese de seguir las buenas prácticas de desarrollo y las convenciones del código. También es importante mantener una comunicación abierta con el equipo del proyecto, especialmente al discutir nuevas características o cambios significativos en la estructura del código. Trabajar juntos y mantener una comunicación efectiva garantizará que las contribuciones sean valiosas y beneficiosas para el proyecto.


Licencia

Este proyecto está licenciado bajo la Licencia MIT. Siéntase libre de usar, modificar y distribuir el código siguiendo los términos de la licencia.

    /\_/\  
   / o o \ 
  (   "   ) 

About

Bookease es un repositorio para la gestión de reservas en distintos tipos de negocios. Con NestJS y MongoDB como stack principal

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published