feat: Add Docker configuration for the application stack and implement client-side API for data management and Excel export.
This commit is contained in:
5
client/.dockerignore
Normal file
5
client/.dockerignore
Normal file
@@ -0,0 +1,5 @@
|
||||
node_modules
|
||||
npm-debug.log
|
||||
build
|
||||
.git
|
||||
.env
|
||||
19
client/Dockerfile
Normal file
19
client/Dockerfile
Normal 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;"]
|
||||
@@ -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");
|
||||
|
||||
// Helper function for handling fetch requests
|
||||
|
||||
38
docker-compose.yml
Normal file
38
docker-compose.yml
Normal 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
4
server/.dockerignore
Normal file
@@ -0,0 +1,4 @@
|
||||
node_modules
|
||||
npm-debug.log
|
||||
.git
|
||||
.env
|
||||
12
server/Dockerfile
Normal file
12
server/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
||||
FROM node:18-alpine
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY package*.json ./
|
||||
RUN npm install
|
||||
|
||||
COPY . .
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
CMD ["npm", "start"]
|
||||
Reference in New Issue
Block a user