2주차 피어세션 - boostcamp-2020/IssueTracker-13 GitHub Wiki
2주차 피어세션 17 그룹 (Web)
진행상황 공유
15조
- CRUD API Postman으로 보여주기
- React Init
- 헤더 컴포넌트 제작
- 로그인, 회원가입 모달
- 이슈 커멘트 컴포넌트
13조
- 이슈화면목록 (mock-data 이용)
- CRUD API
- Issues
- Lables (test)
- Milestones
- Users
- Comments -> 고장남
- auth -> 하는중
- GitHub Actions CI환경 구축
- npm initDB (Umzug, Sequelize-CLI)
기술공유
- super-test 를 쓰면 api test 가 편리하다!
- test DB? 배포 서버 database 네임만 바꿔줘서 접속
- 이미지 저장 방식? -> Object Storage
- Form Data를 선택한 이유? 형식에만 맞춰서 넣어주면 Request , Response가 편하기 때문이다.
코드리뷰
-
API 형태
- Backend 친화적? Frontend 친화적?
- Backend에서 join해서 보내주기 VS frontend에서 각각 호출해서 합쳐서 쓰기
- Pagination VS 전부 다 가져와서 쓰기
-
13조 -> 15조
- Q. getIssuesByCount에서 Take 10, Skip 5가 무엇인지 궁금합니다.
- Issue에 여러 Property를 추가하는 함수들이 잘 정의되어있네요.
- Routers/issue.ts 에 discription 오타
- Property를 추가, 제거하는 함수를 따로 하신 이유가 궁금하네요.
- Patch 쓰는 장점이 궁금하네요. (저희는 PUT 쓰는중)
- TypeScript를 쓰는 장점? -> 자동완성, 타입에러 잡기
- TypeScript를 쓰는 단점? -> 외부 JavaScript 연동이 어려울 때가 있음(Sequelize 등)
- component 폴더와 분리된 context 폴더는 어떤 용도인가요? -> props로 상태를 계속 내리는 것이 아니라, context API를 사용하려는 의도 + 상태를 component와 decouping 해서 독립적으로 쓰려는 이유
-
15조 -> 13조
- IssueAPI Endpoint 를 하나로 두고 Request가 들어오는 것에 따라 유연하게 요청을 처리하는 것이 인상깊었습니다.
- Seeder를 잘 사용하신게 인상 깊습니다.
- SUCCESS_MESSAGE 객체를 따로 빼서 사용하신 것이 매우 인상깊어요.
- OAuth 시도 : ios 앱한테 직접 주기는 힘들고 web view 를 띄웠을 때 거기서 redirection 을 통해서 오는데 어떤 브라우저인지를 check 하여 로직을 선택하는 방식을 구상 중입니다.