Backend para el proyecto Blog, desarrollado con Node.js, Express, TypeScript, Prisma y Docker.
- Node y npm
- Docker / Docker Compose
- Configuraicon de correo
- Clona el repositorio e instalar dependencias:
git clone https://github.com/GeraMaldonado/blog-backend.git
cd blog-backend
npm install- Configura tu archivo .env y .env.production
#Ejemplo:
DATABASE_URL="mysql://root:root@db:3306/blog"
NODE_ENV=development
PORT=3000
SECRET_JWT_KEY=clave_larga_y_segura_para_producción
SECRET_REFRESH_JWT_KEY=otra_clave_larga_para_refresh
EMAIL_SERVER=miemail@gmail.com
EMAIL_ADMIN=admin@gmail.com
EMAIL_PASSWORD=clave_o_token_de_app
- Levantar en producción con Docker
docker compose -f docker-compose.prod.yml up --build -d
#El backend se servirá en: http://localhost:3010-
Ejecutar tests
-
4.1. Levanta la base de datos de prueba
docker compose -f docker-compose.test.yml up -d
-
4.2 Aplica migraciones y ejecuta el seed
npm run migrate:test
-
4.3 Ejecuta los tests
npm test
-
| Script | Descripción |
|---|---|
npm run dev |
Ejecuta el servidor en modo desarrollo con recarga automática (ts-node-dev). Utiliza la base de datos por defecto (MySQL). |
npm run build |
Compila el proyecto TypeScript y genera la carpeta build/ |
npm start |
Ejecuta el proyecto ya compilado, desde la carpeta build/ (Usado para producción) |
npm test |
Ejecuta los tests con jest en entorno de prueba |
npm run lint |
Revisa el código con ts-standard para asegurar buenas prácticas y estilo |
npm run migrate |
Aplica las migraciones en desarrollo utilizando Prisma (prisma migrate dev) |
npm run migrate:test |
Aplica migraciones en base de datos de pruebas y corre el archivo de seed |