매일 한걸음씩 성장하기

오늘은 배도 아프고 컨디션이 좋지 않아 배포 테스트를 완료 한 후, 평소보다 천천히 개발을 진행하였습니다.

 

 

오늘은 어떻게 프로젝트에 기여했나요?

Middleware

▷ 프로젝트 정보, 멤버 정보를 확인하는 middleware(`memberChecker`) 구현

- 해당 프로젝트 검색 후, 현재 유저가 그 프로젝트의 멤버인지 확인

- route에 `memberChecker` 추가

- middleware가 잘 작동되는지 테스트

- 에러 수정 및 테스트를 위한 comsole.log 추가

 

Test & Fix

▷ 배포 진행 후 에러가 발생하지 않는지 테스트 진행

 

Document

▷ WIKI 보완

- HOME, stacks, API documents 등 내용 보완

- 2주차 프로젝트 리플렉션 준비(프로젝트 간단 발표, 사용 stack 소개 등)

안녕하세요! 1팀 곽이정신입니다.
우리 팀은 프로젝트의 시작부터 끝까지 함께 할 수 있는 Reciper를 개발하고 있습니다.
프로젝트를 함께 할 팀원 모집부터 프로젝트 협업 툴 까지 Reciper에서 프로젝트와 관련된 모든 것을 할 수 있습니다.

현재까지 사용하고 있는 스택은 다음과 같습니다.
기본적으로 typescript를 사용하고 있습니다.
FRONT-END에서는 react, redux, hooks, style-component 등을 사용하고 있습니다.
BACK-END에서는 nodejs, express로 서버를 구축하고 typeorm, mysql로 데이터베이스를 구축하였습니다.
그리고 multer, redis, socket.io 등을 사용하여 필요한 기능을 구현하였고 AWS로 배포를 진행하고 있습니다.

 

 

오늘의 프로젝트에서 힘든 점은 무엇인가요?

▷ route에 여러 개의 middleware를 설정하기

- 두 개의 middleware를 다음과 같이 설정했더니 원하는 진행 순서가 나오지 않았습니다.

  • 내가 원했던 순서: authChecher → memberChecker → showProject
  • 실제 실행 순서: authChecker → showProject → memberChecker

서버 로그를 보니 실제 요청과 두번째 middleware가 비동기적으로 일어난 것으로 확인되었습니다.

projectRouter.use('/project/:projectURL', (req, res, next) => {
    authChecker(req, res, next);
    memberChecker(req, res, next);
});

- 여러가지 방법을 시도한 끝에 여러 middleware를 설정하는 법을 찾았습니다.

// 방법 1
projectRouter.use('/project', (req, res, next) => {
    authChecker(req, res, next);
});
projectRouter.use('/project/:projectURL', (req, res, next) => {
    memberChecker(req, res, next);
});
    
// 방법 2
projectRouter.get('/project/:projectURL', authChecker, memberChecker, controller.showProject);

 

 

내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?

▷ workspace 기능 구현 시작

 

'Code States > Project Record' 카테고리의 다른 글

[기록] Final Project_2021.05.24  (0) 2021.05.24
[기록] Final Project_2021.05.23  (0) 2021.05.23
[기록] Final Project_2021.05.20  (0) 2021.05.20
[기록] Final Project_2021.05.19  (0) 2021.05.19
[기록] Final Project_2021.05.18  (0) 2021.05.18

공유하기

facebook twitter kakaoTalk kakaostory naver band