From 56a926b10b2ba1f51c7b86593d38c34b9702e811 Mon Sep 17 00:00:00 2001 From: mberlin Date: Wed, 18 Mar 2026 15:01:04 -0300 Subject: [PATCH] Add Docker Compose, environment example, and README --- .env.example | 10 +++++ README.md | 98 ++++++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 25 ++++++++++++ 3 files changed, 133 insertions(+) create mode 100644 .env.example create mode 100644 README.md create mode 100644 docker-compose.yml diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..d1bcb7f --- /dev/null +++ b/.env.example @@ -0,0 +1,10 @@ +# Database Configuration +DB_HOST=localhost +DB_PORT=5432 +DB_USER=postgres +DB_PASSWORD=postgres +DB_NAME=planner + +# Application +PORT=3000 +NODE_ENV=development diff --git a/README.md b/README.md new file mode 100644 index 0000000..0e4542e --- /dev/null +++ b/README.md @@ -0,0 +1,98 @@ +# Planner - Event Management System + +## Requisitos Previos + +- Node.js 18 o superior +- Docker y Docker Compose +- npm o yarn + +## Instalación + +1. Clonar el repositorio: +```bash +git clone https://gitea.solicita.cl/mberlin/evento.git +cd evento +``` + +2. Instalar dependencias: +```bash +npm install +``` + +3. Configurar variables de entorno: +```bash +cp .env.example .env +``` + +4. Iniciar la base de datos con Docker: +```bash +docker-compose up -d +``` + +5. Ejecutar migraciones (si las hay): +```bash +npm run migration:run +``` + +## Desarrollo + +Iniciar el servidor en modo desarrollo: +```bash +npm run start:dev +``` + +La aplicación estará disponible en `http://localhost:3000` + +## Scripts Disponibles + +- `npm run start` - Inicia la aplicación +- `npm run start:dev` - Inicia en modo desarrollo con hot-reload +- `npm run build` - Construye la aplicación para producción +- `npm run start:prod` - Inicia la aplicación en modo producción + +## Base de Datos + +El proyecto usa PostgreSQL como base de datos. Docker Compose configura automáticamente: + +- **Host**: localhost +- **Puerto**: 5432 +- **Usuario**: postgres +- **Contraseña**: postgres +- **Base de datos**: planner + +### Comandos Docker útiles + +```bash +# Iniciar servicios +docker-compose up -d + +# Detener servicios +docker-compose down + +# Ver logs +docker-compose logs -f postgres + +# Reiniciar servicios +docker-compose restart + +# Eliminar todo (incluyendo volúmenes) +docker-compose down -v +``` + +## Estructura del Proyecto + +``` +src/ +├── core/ # Módulo principal con auth, database, notificaciones +├── admin/ # Panel de administración +├── gift/ # Gestión de regalos +├── guest/ # Gestión de invitados +└── todo/ # Lista de tareas +``` + +## Tecnologías + +- NestJS - Framework backend +- MikroORM - ORM para PostgreSQL +- TypeScript +- PostgreSQL diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..6cdcc65 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,25 @@ +version: '3.8' + +services: + postgres: + image: postgres:16-alpine + container_name: planner-postgres + restart: unless-stopped + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: planner + PGDATA: /var/lib/postgresql/data/pgdata + ports: + - "5432:5432" + volumes: + - postgres_data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 10s + timeout: 5s + retries: 5 + +volumes: + postgres_data: + driver: local