Nest framework TypeScript starter repository.
Este es un proyecto de ejemplo que muestra la implementación de una arquitectura hexagonal en una aplicación.
Descripción La arquitectura hexagonal, también conocida como puertos y adaptadores, es un enfoque de diseño de software que busca separar las preocupaciones y lograr una mayor modularidad y flexibilidad en la aplicación.
En este proyecto, seguimos los principios de la arquitectura hexagonal para organizar nuestra aplicación en capas y establecer una clara separación de responsabilidades.
El proyecto se divide en las siguientes carpetas principales:
- src: Contiene el código fuente de la aplicación.
-
- application: Aquí se encuentran los casos de uso de la aplicación.
-
- domain: Contiene las entidades y objetos de valor del dominio.
-
- infrastructure: Esta carpeta contiene las implementaciones concretas de los puertos definidos en el dominio, así como otros detalles de infraestructura
-
- api: puente de entrada, controladores
- NestJS: Framework de Node.js para construir aplicaciones escalables y modulares.
- TypeScript: Lenguaje de programación que agrega tipado estático opcional a JavaScript.
- Redis
- Postgres
- JWT
git clone [email protected]:josmel/challenge-lucky.git
cd challenge-lucky
cp .env.example .env
$ npm install
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
El proyecto también puede ejecutarse utilizando Docker Compose, lo que facilita la configuración y la ejecución del entorno de desarrollo.
Asegúrate de tener instalado Docker y Docker Compose en tu máquina antes de seguir estos pasos.
- Clona el repositorio en tu máquina local:
git clone [email protected]:josmel/challenge-lucky.git
- Navega hasta el directorio del proyecto::
cd challenge-lucky
cp .env.example .env
-
Abre el archivo docker-compose.yml y verifica la configuración de los servicios.
-
Ejecuta el siguiente comando para levantar los contenedores:
docker-compose up -d
Esto creará y levantará los contenedores definidos en el archivo docker-compose.yml.
- Accede a la aplicación en tu navegador en la siguiente URL: http://localhost:3000/api/v1. Puedes abrir la documentacion en swagger de las apis en la ruta.
http://localhost:3000/api/v1
- Para detener y eliminar los contenedores, ejecuta el siguiente comando:
docker-compose down
Nest is MIT licensed.