Files
app-padel/backend/Dockerfile
Ivan Alcaraz b558372810 FASE 1 COMPLETADA: Fundamentos y Core del Backend
- API REST completa con Node.js + Express + TypeScript
- Autenticación JWT con roles (Player/Admin)
- CRUD completo de canchas
- Sistema de reservas con validaciones
- Base de datos SQLite con Prisma ORM
- Notificaciones por email (Nodemailer)
- Seed de datos de prueba
- Documentación de arquitectura

Endpoints implementados:
- Auth: register, login, refresh, me
- Courts: CRUD + disponibilidad
- Bookings: CRUD + confirmación/cancelación

Credenciales de prueba:
- admin@padel.com / admin123
- user@padel.com / user123
2026-01-31 08:11:53 +00:00

48 lines
755 B
Docker

# Build stage
FROM node:20-alpine AS builder
WORKDIR /app
# Copiar archivos de dependencias
COPY package*.json ./
COPY prisma ./prisma/
# Instalar dependencias
RUN npm ci
# Copiar código fuente
COPY . .
# Generar Prisma client
RUN npx prisma generate
# Compilar TypeScript
RUN npm run build
# Production stage
FROM node:20-alpine
WORKDIR /app
# Copiar archivos necesarios
COPY package*.json ./
COPY prisma ./prisma/
# Instalar solo dependencias de producción
RUN npm ci --only=production
# Generar Prisma client para producción
RUN npx prisma generate
# Copiar código compilado desde builder
COPY --from=builder /app/dist ./dist
# Crear directorio de logs
RUN mkdir -p logs
# Puerto
EXPOSE 3000
# Comando de inicio
CMD ["npm", "start"]