feat: implement authentication and database modules with relations and group management

Added new authentication strategies (JWT and GitHub OAuth), guards, and controllers. Implemented database module, schema with relations, and group management features, including CRD operations and person-to-group associations. Integrated validation and CORS configuration.
This commit is contained in:
2025-05-15 17:09:36 +02:00
parent f6f0888bd7
commit 9f99b80784
63 changed files with 2838 additions and 0 deletions

36
backend/Dockerfile Normal file
View File

@@ -0,0 +1,36 @@
FROM node:20-alpine AS base
# Install pnpm
RUN npm install -g pnpm
# Set working directory
WORKDIR /app
# Copy package.json and install dependencies
FROM base AS dependencies
COPY package.json ./
RUN pnpm install
# Build the application
FROM dependencies AS build
COPY . .
RUN pnpm run build
# Production image
FROM node:20-alpine AS production
WORKDIR /app
# Copy built application
COPY --from=build /app/dist ./dist
COPY --from=build /app/node_modules ./node_modules
COPY package.json ./
# Set environment variables
ENV NODE_ENV=production
ENV PORT=3000
# Expose port
EXPOSE ${PORT}
# Start the application
CMD ["node", "dist/main"]