# Build stage for React app
FROM node:18-alpine AS frontend-build

WORKDIR /app

# Copy frontend package files
COPY package*.json ./
RUN npm ci

# Copy frontend source
COPY index.html vite.config.js ./
COPY src ./src

# Build React app
RUN npm run build

# Production stage
FROM node:18-alpine

WORKDIR /app

# Copy backend files
COPY backend/package*.json ./backend/
WORKDIR /app/backend
RUN npm ci --only=production

# Copy backend source files
COPY backend/server-prod.js ./

# Copy built React app from build stage
COPY --from=frontend-build /app/dist /app/dist

# Go back to app directory
WORKDIR /app

# Expose port
EXPOSE 3001

# Start the backend server
CMD ["node", "backend/server-prod.js"]