Skip to content

Commit 3614ed9

Browse files
authored
Merge pull request #41 from ruiqi7/deployment/docker
Containerize user service
2 parents 8bb8502 + 236e03a commit 3614ed9

File tree

4 files changed

+44
-19
lines changed

4 files changed

+44
-19
lines changed

backend/user-service/.dockerignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules
2+
.env
3+
tests

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-alpine
2+
3+
WORKDIR /user-service
4+
5+
COPY package*.json ./
6+
7+
RUN npm ci
8+
9+
EXPOSE 3001
10+
11+
CMD ["npm", "start"]

docker-compose.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
services:
2+
user-service:
3+
image: peerprep/user-service
4+
build: ./backend/user-service
5+
env_file: ./backend/user-service/.env
6+
ports:
7+
- 3001:3001
8+
networks:
9+
- peerprep-network
10+
restart: always
11+
12+
networks:
13+
peerprep-network:
14+
driver: bridge

frontend/src/pages/QuestionList/index.tsx

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,17 @@ const QuestionList: React.FC = () => {
6666
);
6767
};
6868

69+
const updateQuestionList = () => {
70+
getQuestionList(
71+
page + 1, // convert from 0-based indexing
72+
rowsPerPage,
73+
searchFilter,
74+
complexityFilter,
75+
categoryFilter,
76+
dispatch
77+
);
78+
};
79+
6980
// For handling edit / delete menu
7081
const [targetQuestion, setTargetQuestion] = useState<string | null>(null);
7182
const [menuAnchor, setMenuAnchor] = useState<HTMLElement | null>(null);
@@ -106,25 +117,11 @@ const QuestionList: React.FC = () => {
106117

107118
toast.success(SUCCESS_QUESTION_DELETE);
108119
getQuestionCategories(dispatch);
109-
getQuestionList(
110-
page + 1, // convert from 0-based indexing
111-
rowsPerPage,
112-
searchFilter,
113-
complexityFilter,
114-
categoryFilter,
115-
dispatch
116-
);
117-
};
118-
119-
const updateQuestionList = () => {
120-
getQuestionList(
121-
page + 1, // convert from 0-based indexing
122-
rowsPerPage,
123-
searchFilter,
124-
complexityFilter,
125-
categoryFilter,
126-
dispatch
127-
);
120+
if (state.questionCount % 10 !== 1 || page === 0) {
121+
updateQuestionList();
122+
} else {
123+
setPage(page - 1);
124+
}
128125
};
129126

130127
useEffect(() => {

0 commit comments

Comments
 (0)