Este es un ejemplo sencillo de Arquitectura Hexagonal en Node.js usando TypeScript.
- TypeScript
- Node.js
- npm
- Sqlite
- Prisma
- Vercel
La Arquitectura Hexagonal es un patrón arquitectónico que nos ayuda a crear aplicaciones más independientes del mundo externo. También se conoce como Arquitectura de Puertos y Adaptadores o Arquitectura de Cebolla.
Requisitos previos:
- Node.js nodejs
- npm npm
- prisma =>
npm install -g prismaprisma
-
Ejecuta
npm install -
Copiar y ajustar las variables env.example a .env
-
cd a la carpeta
src/infrastructure/dbcd src/infrastructure/db npx prisma migrate dev --name init -
Ejecuta
npm run startpara lanzar la aplicación -
Ejecuta
npm run testpara lanzar los tests
Esta es la lista de los casos de uso que soporta la aplicación, estos casos de uso básicos serán cambiados en el futuro para ser más realistas.
method: POST
URL: /api/v1/user/signup
Para crear un usuario se requieren los siguientes datos:
-
name
-
email
-
password
{ "name": "John Doe", "email": "[email protected]", "password": "123456" }
method: POST
URL: /api/v1/user/signin
Para loguear un usuario se requieren los siguientes datos:
-
email
-
password
{ "email": "[email protected]", "password": "123456" }
========================================================
Apartir de este las peticiones requieren autenticación con Bearer Token de la respuesta del Caso de Crear usuario
========================================================
Para crear un post se requieren los siguientes datos:
-
title
-
body
{ "title": "My first post", "body": "<h1>Hello World!</h1><p>This is my first post</p>", }