Este proyecto utiliza Docker Compose para levantar el frontend (Angular), backend (NestJS) y la base de datos (Postgres) en contenedores separados, optimizados para producción.
- Guía de Desarrollo - Flujo recomendado para desarrollo diario
- Documentación Técnica - Detalles técnicos del sistema
/vendix_app→ Frontend Angular/vendix_backend→ Backend NestJS (usa Prisma)
- Docker y Docker Compose instalados
-
Clona el repositorio:
git clone <URL_DEL_REPO> cd <NOMBRE_DEL_REPO>
-
Instala Docker Desktop:
- Descarga e instala Docker Desktop desde docker.com.
- Asegúrate de que Docker esté corriendo antes de continuar.
-
Configura el archivo de entorno:
- Copia el archivo
.env.exampledevendix_backendy renómbralo a.env. - Ajusta las variables si es necesario (usuario, contraseña, etc).
cp vendix_backend/.env.example vendix_backend/.env # Edita vendix_backend/.env si lo necesitas - Copia el archivo
-
Levanta el entorno de desarrollo:
docker compose up -d --build
Esto levantará:
- Postgres en el puerto 5432
- Backend NestJS en el puerto 3000 (hot-reload)
- Frontend Angular en el puerto 4200 (hot-reload)
-
Verifica que todo funciona:
- Accede a http://localhost:4200 para ver el frontend.
- Accede a http://localhost:3000 para ver el backend (API).
-
Ver logs en tiempo real (opcional): Abre nuevas terminales y ejecuta:
docker compose logs -f backend docker compose logs -f frontend
-
Instalar nuevas dependencias:
- Instala paquetes desde tu máquina local (el código está mapeado):
cd vendix_backend && npm install <paquete> cd ../vendix_app && npm install <paquete>
- Reinicia el servicio si es necesario:
docker compose restart backend docker compose restart frontend
-
Detener el entorno:
docker compose down
¿Dudas? Consulta los archivos de configuración o abre un issue.
El backend toma las variables de /vendix_backend/.env. Ejemplo:
DATABASE_URL="postgresql://username:password@db:5432/vendix_db?schema=public"
JWT_SECRET=... # Cambia esto en producción
PORT=3000
NODE_ENV=production
El contenedor del backend copia el esquema Prisma y ejecuta automáticamente las migraciones al iniciar.
- El frontend se comunica con el backend usando la URL interna
http://vendix_backend:3000. - Puedes personalizar los puertos en
docker-compose.ymlsi lo necesitas. - Los archivos
.dockerignorey los Dockerfile están optimizados para producción.
¿Dudas? Consulta los archivos de configuración o abre un issue.