♻️ refactor(account, order, plan, profile, support, email): restructure application modules and enhance error handling

Updated Docker configuration, refactored middleware for improved error handling, and restructured account, order, plan, profile, and support modules, including their routes, services, and validations. Enhanced email processing queues and utilities for token generation, pagination, and response management to streamline the application architecture and enhance maintainability.
This commit is contained in:
abumahid
2026-04-21 03:12:39 +06:00
parent c881efea0f
commit 0f7af70b90
94 changed files with 2593 additions and 127 deletions
+21 -6
View File
@@ -1,25 +1,40 @@
# ---------- BUILD STAGE ----------
FROM node:18-alpine AS builder
FROM node:20-alpine AS builder
WORKDIR /app
# Only install deps first (cache friendly)
COPY package*.json ./
RUN npm install
RUN npm ci
# Copy source
COPY . .
# Generate prisma + build
RUN npx prisma generate
RUN npm run build
# ---------- PRODUCTION STAGE ----------
FROM node:18-alpine
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install && npm cache clean --force
ENV NODE_ENV=production
# Only install production deps
COPY package*.json ./
RUN npm ci --omit=dev && npm cache clean --force
# Copy Prisma generated client + schema
COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma
COPY --from=builder /app/node_modules/@prisma ./node_modules/@prisma
COPY --from=builder /app/prisma ./prisma
# Copy built app
COPY --from=builder /app/dist ./dist
# Uploads folder
RUN mkdir -p /app/uploads
EXPOSE 5000