feat: Add Docker configuration for the application stack and implement client-side API for data management and Excel export.

This commit is contained in:
2025-12-08 16:08:20 +05:30
parent d4ff030d51
commit a45eb2569c
6 changed files with 79 additions and 1 deletions

5
client/.dockerignore Normal file
View File

@@ -0,0 +1,5 @@
node_modules
npm-debug.log
build
.git
.env

19
client/Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
# Stage 1: Build the React application
FROM node:18-alpine as build
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
# Stage 2: Serve the application with Nginx
FROM nginx:alpine
COPY --from=build /app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

View File

@@ -1,4 +1,4 @@
const BASE_URL = "http://localhost:8080/api"; const BASE_URL = process.env.REACT_APP_API_URL || "http://localhost:8080/api";
const XLSX = require("xlsx-js-style"); const XLSX = require("xlsx-js-style");
// Helper function for handling fetch requests // Helper function for handling fetch requests

38
docker-compose.yml Normal file
View File

@@ -0,0 +1,38 @@
version: '3.8'
services:
server:
build: ./server
ports:
- "8080:8080"
environment:
- mongoURI=mongodb://mongo:27017/appointment_to_examiner
depends_on:
- mongo
networks:
- app-network
client:
build: ./client
ports:
- "3000:80"
depends_on:
- server
networks:
- app-network
mongo:
image: mongo:latest
ports:
- "27017:27017"
volumes:
- mongo-data:/data/db
networks:
- app-network
networks:
app-network:
driver: bridge
volumes:
mongo-data:

4
server/.dockerignore Normal file
View File

@@ -0,0 +1,4 @@
node_modules
npm-debug.log
.git
.env

12
server/Dockerfile Normal file
View File

@@ -0,0 +1,12 @@
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD ["npm", "start"]