Thanks to visit codestin.com
Credit goes to github.com

Skip to content

josmel/hexagonal-architecture

Repository files navigation

Nest Logo

Description

Nest framework TypeScript starter repository.

Proyecto de Arquitectura Hexagonal

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.

Estructura del Proyecto

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

Tecnologías Utilizadas


  • 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

Pasos de Instalacion Local

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

Generar .env::

cp .env.example .env

Installation

$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

Uso con Docker Compose

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.

  1. Clona el repositorio en tu máquina local:
git clone [email protected]:josmel/challenge-lucky.git
  1. Navega hasta el directorio del proyecto::
cd challenge-lucky

Generar .env::

cp .env.example .env
  1. Abre el archivo docker-compose.yml y verifica la configuración de los servicios.

  2. 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.

  1. 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
  1. Para detener y eliminar los contenedores, ejecuta el siguiente comando:
docker-compose down

License

Nest is MIT licensed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published