Skip to content

Commit b03ba5d

Browse files
Merge pull request #18 from rayyan35p/d3-containerize
Add Docker files needed for containerization
2 parents ea5836c + bc6c614 commit b03ba5d

File tree

9 files changed

+96
-0
lines changed

9 files changed

+96
-0
lines changed

Backend/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
QuestionService/.env
2+
user-service/.env
23
QuestionService/insert_questions_script.py
34

45
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Ignore node_modules to prevent large files being included
2+
node_modules
3+
4+
# Ignore Docker-related files themselves
5+
Dockerfile
6+
.dockerignore

Backend/QuestionService/Dockerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM node:20
2+
3+
WORKDIR /app
4+
5+
COPY package*.json ./
6+
RUN npm install
7+
8+
COPY . .
9+
10+
EXPOSE 3001
11+
CMD ["npm", "start"]

Backend/QuestionService/app.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,27 @@ mongoose.connect(mongoURI)
1717

1818
app.use('/api/questions', questionRouter)
1919

20+
app.get("/", (req, res, next) => {
21+
console.log("Sending Greetings!");
22+
res.json({
23+
message: "Hello World from question-service",
24+
});
25+
});
26+
27+
// Handle When No Route Match Is Found
28+
app.use((req, res, next) => {
29+
const error = new Error("Route Not Found");
30+
error.status = 404;
31+
next(error);
32+
});
33+
34+
app.use((error, req, res, next) => {
35+
res.status(error.status || 500);
36+
res.json({
37+
error: {
38+
message: error.message,
39+
},
40+
});
41+
});
42+
2043
module.exports = app

Backend/user-service/.dockerignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Ignore node_modules to prevent large files being included
2+
node_modules
3+
4+
# Ignore Docker-related files themselves
5+
Dockerfile
6+
.dockerignore

Backend/user-service/Dockerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM node:20
2+
3+
WORKDIR /app
4+
5+
COPY package*.json ./
6+
RUN npm install
7+
8+
COPY . .
9+
10+
EXPOSE 3002
11+
CMD ["npm", "start"]

Frontend/.dockerignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Ignore node_modules to prevent large files being included
2+
node_modules
3+
4+
# Ignore Docker-related files themselves
5+
Dockerfile
6+
.dockerignore

Frontend/Dockerfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM node:20
2+
3+
WORKDIR /app
4+
5+
COPY package*.json ./
6+
RUN npm install
7+
8+
COPY . .
9+
10+
EXPOSE 3000
11+
CMD ["npm", "start"]

docker-compose.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
services:
2+
question-service:
3+
build:
4+
context: ./Backend/QuestionService
5+
dockerfile: Dockerfile
6+
ports:
7+
- "3001:3001"
8+
9+
user-service:
10+
build:
11+
context: ./Backend/user-service
12+
dockerfile: Dockerfile
13+
ports:
14+
- "3002:3002"
15+
16+
frontend:
17+
build:
18+
context: ./Frontend
19+
dockerfile: Dockerfile
20+
ports:
21+
- "3000:3000"

0 commit comments

Comments
 (0)