-
Notifications
You must be signed in to change notification settings - Fork 5
MOAMOA Daily Sprint2
-
2주간 진행할 sprint 회의
처음 1주 동안 → 후기, 단건조회, 필터(정렬)
-
github wiki
-
KPT 회고
- Spring Rest Docs 적용하기
- Oauth
- Lombok (Allargs 와 Getter에 적용하기)
- Github Actions 적용 (CI/CD)
- 한 줄 소개와 스터디 설명(Description)을 분리하기
백엔드 - lombok (getter, args)
-
**7/11 ~ 7/17**
일 동안 진행할 사항-
**기능 팀 분리**
- 스터디 디테일 페이지 + 로그인(백엔드) : 병민, 그린론, 짱구
- 필터(기수, BE/FE, 스터디 태그(ex. java, javascript)) : 태태, 디우, 베루스
-
화면 디자인, 필요한 데이터 정하기
-
KPT 회고
-
Github wiki 몇 개 옮김
-
Commit, PR Commit, PR 등 컨벤션 정리
https://github.com/woowacourse-teams/2022-moamoa/wiki/MOAMOA-Convention
-
-
강의 듣기 (O)
미션하고, 구글 폼 제출하기
-
검색 UI를 어떻게 할 것인지 (O)
→ 피그마대로..
-
정렬을 어떻게 할 것인가 (O)
→ default로 최신순이고 마감기한 조금 남은 순으로 정렬하는 기능
→ 후기 많은 순이랑, 활동량(Git commit 개수로..?)
→ 마감기한 조금 남은 순
-
Github Actions (O)
-
API 설계 (각 팀별로) (O)
-
로그인 기능 (로그인 인수 테스트 및 컨트롤러 테스트 완료, 서비스 테스트 작성하면서 기능 완성해야 한다.)
-
스터디 후기 API (페이징도 추가해야 한다.)
-
스터디 디테일 페이지 API
-
Wiki로 옮기기 완료
-
스터디 태그, 태그를 통한 스터디 검색 API 명세 작성 완료
-
스터디 태그 조회 및 태그 검색 인수테스트 작성 완료
(아직 태그를 통해서 스터디 검색에 대한 인수테스트는 작성 미완료)
- 레벨3 특강 듣기 주제: 신입 개발자에게 필요한 역량과 개발자의 성장
- 필요 데이터 정하기 + DB 테이블 설계 (백엔드끼리)
- AWS 아이디 설정하기
-
로그인 기능(서비스 테스트 mock 완료 - 완성되면 프로덕션 객체로 바꿔야 한다.) -> AccessToken 발급을 위한 요청까지
-
태그 조회랑 태그 검색 기능을 구현 -> 태그 검색은 대소문자 구분없이 포함되는 태그를 검색 -> 태그(데이터)는 미리 넣어놓을 것으로..중복없이
-
CI에서 슬랙에 알림 기능 제거
-
디자인을 새로 했고, 레이아웃만 잡아놓았음(디자인 빼고) -> 디테일 페이지, 태그 검색 및 조회 부분
-
코드 리뷰 기간 정하기 -> 리뷰어가 요청을 받았을 때 본인의 일정을 고려해 언제까지 해줄 수 있을지 말해주기 -> 다음 스프린트에 지장없도록 하기
-
로그인 기능 -> Mock 서버 공부(?) (
MockRestServiceServer
) -> 로그인 기능(토큰 발급 및 동작 확인) -
태그로 스터디 검색 -> DB 테이블과 JPA 매핑을 어떤 식으로 할 것인가?
- 관계 테이블도 @Entity를 사용해 관리할까?
- @Embeddable을 사용할까? -> 동적 쿼리
-
디테일 페이지 : Mocking 서버에서 데이터 API 콜 (동적인 디테일 페이지 생성)
-
태그 : 컴포넌트 구현 마무리하고 나서 Mocking 서버 구현 시작
- 데모데이 데모 영상 새로 찍어야 함 (발표 영상에서 데모하는 부분이 빠진 이슈가 존재하므로 데모 영상을 새로 찍어야한다.)
- Spring Rest Docs를 시간이 남은 사람이 진행하기
(구현하는데에 시간을 많이 투자해야할 것 같음)
- 그린론, 짱구 : 로그인 + 세부 페이지(이번 기간(스프린트2-1)에 못할 수 있음)
- 디우, 베루스 : Spring Rest Docs
- 페어를 계속해서 같이하기보다는 막히거나 테스트 정도만 페어로 하자. (모든 기능을 페어로 진행하는 것은 시간 등의 낭비이다.) -> 월요일에 이슈가 4개 나왔다면, 한 사람당 하나의 이슈를.. -> 테이블 설계 같은 경우 백엔드 모두가 모여서 진행
-
로그인 기능 구현(깃허브 프로필 정보 조회, 사용자 정보 DB 저장, 토큰 발급)
- AccessToken 가지고 프로필 정보 조회해와서 사용자가 없으면 저장하고 있으면 갱신하도록 구현
- Github Username 가지고 토큰 발급 (username 변경 가능하므로 id로 변경 필요)
-
태그를 통해 필터링해서 검색하기
- 각자 구현해와 봤음
- 1:N - N:1 & Querydsl 사용해서 구현
- JPA 없이 순수 sql로 구현
- OR 조건에 대한 고민 필요
-
태태: 태그 조회랑 태그 검색 구현
-
병민: 모집중과 모집완료 구분, Mocking 서버를 통해서 동적인 페이지 구현 완료(markdown으로 보여지기)
- 회고 (오후 5 ~ 6시)
- 포수타 (오후 2시 ~ 2:30)
- DB 테이블 재설계
- 태그(필터) 관련해서 역할 분할&조정 필요 ( + 디테일 페이지)
- 베루스 : 태그 조회 및 검색 + 디테일 페이지
- 디우 : 태그를 통한 스터디 조회
- 태태: 태그 조회랑 태그 검색 UI 및 로직 수정
- 병민: UI 디테일 페이지 개선
태그 조회 및 검색
/api/tags?tag-name=ja&category=1
- 기수(generation) : 1
- 분야(area) : 2
- 태그(tag) : 3
ex) area AND tag ex) area OR area ex) area OR area AND tag
태그를 통한 검색
/api/studies/search?title=java&page=0&size=10&generation=1&generation=2&area=2
-
Front
- 태그 목록 구현
-
Back
- 카테고리 별 필터 조회 및 검색 -> API 요구사항 변경에 따른 변경 필요
- OAuth 를 이용한 로그인 기능 구현 완료
-
제목 + 카테고리 별 필터링 + 페이징
해서 스터디 목록 조회 -> 베루스가 찾아준실패 케이스
통과하게 수정 필요 (실패 케이스 조정 필요)
- 저번 주 금요일 못한 회고
- 충돌(Conflict) 해결하기
- 백엔드는 서로 코드리뷰 -> 구현 내용이 많아서 매주 월요일날 1시간 ~ 2시간 정도 서로 리뷰하는 시간을 가질 필요성이 있음
-
2-2 sprint
동안 할 일 리스트업 및용어 정리
- 백엔드: 2-1 sprint 구현 사항 코드 리뷰 완료
- 프론트엔드: 코드리뷰, 리팩터링, github actions CI
- 사용자 스토리 포인트 추정 및 이번 스프린트 기간동안 할 일 정리
- 전체: 스터디 개설 및 명세 전체 회의
- 백엔드: 머지 및 충돌 해결, 스터디 DB 회의 -> 세부 명세로 뽑히는 것이 있으면 이슈 등록하기 (별도 스토리로)
- 프론트: 코드리뷰 및 머지, 스터디 개설, 로그인
- 모집기간에 대한 비즈니스 로직 구체화 회의 진행
- 백엔드
- 이전에 코드리뷰한 내용 모두 Merge 완료
- DB 테이블과 JPA 엔티티 매핑 회의
- 새로운 기능 요구사항인
스터디 개설
,스터디 디테일 조회
를 위한 엔티티 매핑 (Study)
- 프론트엔드
- 스터디 디테일 조회 페이지 merge
- 태태 필터 merge
- 백엔드
-
스터디 디테일 조회
구현 -
스터디 개설
구현 - 인프라
-
- 프론트
- 스터디 개설 폼 구현
- 로그인 기능 연결 테스트
- 백엔드
- 스터디 상세 페이지 완성
- 유효성 검사, 로그인 인증 과정 실패 케이스 구현(Authorization code가 잘못된 경우 200+에러메시지로 온다, access_token이 잘못된 경우 401로 온다. -> 둘 다 잘못된 경우 + 깃헙 서버 문제 모두 401로 던지도록. )
- DB ec2 생성 및 설정 완료
- DB 테이블 생성 완료(데모용 데이터 필요함)
- 프론트
- 스터디 개설 페이지 UI 구현
- 로그인 완료
- UI 관련 에러처리
- 백엔드
- 데이터 DB에 저장
- 스터디 상세 페이지 코드 리뷰
- 프론트
- ec2 배포
- 스타일 정리
- 스터디 상세 페이지 연결
-
백엔드
- MySQL용 서버 세팅 및 MySQL 세팅
- 데모데이를 위한 데이터 DB에 저장
- 후기 조회 기능 구현
- 스터디 개설 기능 구현
-
프론트
- ec2 배포
- 스타일 정리
- 스터디 상세 페이지 연결
- 스터디 개설 페이지 구현
- 데모데이 및 준비