미니프로젝트 주차
1. 발표 관련
1) ui구현 페이지
- 메인 페이지, 플레이 페이지, 상세결과 페이지, 로그인 페이지, 회원가입 페이지, 마이 페이지, 컨텐츠 등록 페이지
2) BE완료한 기능
- 나의 기능 : 회원가입, 로그인, 로그아웃, refresh token, 비밀번호 해시화
- mypage : 내가 한 월드컵 결과 조회, 내가 만든 월드컵 조회, 월드컵 결과 db저장,
- 월드컵 : 월드컵 CRUD, 좋아요
- 댓글 : 댓글CRUD
- EC2 배포, CORS
3) BE도전한 기능
- 나의 기능 : 이메일 인증
- 승률/통계, Test code(통합 단위, 기능 단위), swagger, jest html reporter, sentry
2. 트러블 슈팅
1) 트랜잭션 적용 계층 논의 : 서비스 계층
- 핵심 로직 수행 중 발생하는 데이터베이스 작업을 관리하기에 적합하다고 예상
- 서비스 계층은 다수의 레포지토리를 조작할 수 있고 이런 다중 조작을 하나의 트랜잭션으로 묶어서 사용 가능
2) 통합 테스트 시 로그인 유지
- 각 테스트가 독립적으로 진행되기 때문에 이전 테스트의 로그인 정보가 다음 테스트에 유지되지 않음
- supertest.agent 사용(agent : 요청을 유지시켜주는 객체)
- 비포이치 명령어를 통해 인증이 필요한 기능 테스트전 login요청을 보내 쿠키에 값을 할당하여 해결
3. 회고
1) 다음에 진행해보고 싶은 것
- S3, https, git flow(master, feature, develop 브랜치), ci/cd, redis
2) 첫 협업 프로젝트(FE)
- 기능 구현에 대한 명확한 인지/소통의 필요성과 FE진영에서 이해하기위한 api 작성에 필요한 요소들을 추가적으로 알게 되었음
- 다음 프로젝트에선 정규 회의시간에 진영별 같은 기능 담당자들 끼리 진행상황 더블체크를 진행할 예정
- FE를 전혀 알지 못하였는데 이번 협업을 통하여 전반적인 흐름을 알 수 있었고, 협업에 대한 자신감이 생김
- FE인원이 부족하였지만, 환경에 구애받지않고 남는 시간에 BE단에서 진행할 수 있는 도전적인 부분들을(jset reporter, sentry, artillery 등) 완수하여 만족스러운 첫 협업의 결과물이 나왔다
3) 첫 협업 프로젝트(BE)
- 코드 컨벤션 / 깃 컨벤션을 처음 사용해보았고, 해당 컨벤션을 통한 머지/풀 진행시 충돌 예방의 중요성을 인지하였다
- 레이어드 아키택쳐의 잠점을 명확히 인지하였다(계층별 단위 테스트 용이, 모듈화를 통한 유지/보수/개발 용이)
- 모듈화와 기능 분담이 라우트별로 잘되어 있어, 별다른 충돌 없이 순조롭게 프로젝트가 진행되었다
- 스코프를 적당히 잡고 진행하였더니 기능 개발에 급급해하지 않고 내가 맡은 기능들에 대한 깊은 파고들기/리팩토링이 가능하였다
'항해14기 본과정 > 항해14기 개발일지' 카테고리의 다른 글
[항해 14기] 개발일지36 (클론프로젝트) (0) | 2023.05.13 |
---|---|
[항해 14기] 개발일지35 (클론 프로젝트 - 발제, 디자인 패턴 - 플라이트) (0) | 2023.05.13 |
[항해 14기] 개발일지33 (미니 프로젝트 - Sentry, 디자인 패턴 - 어댑터) (0) | 2023.05.11 |
[항해 14기] 개발일지32 (미니 프로젝트 - NodeMailer, Bcrypt) (0) | 2023.05.09 |
[항해 14기] 개발일지31 (미니 프로젝트 - 리팩토링, 배포, FE연결) (0) | 2023.05.08 |