-
Notifications
You must be signed in to change notification settings - Fork 6
회의록 목록
그래, 쪼밀리, 카프카, 쿨라임, 히로
- 3차 데모까지 할 일을 정리하고, 분업한다.
- 3차 데모까지 할 일을 정리하고, 분업한다.
- 할 일 목록
- (스프린트 5가 월요일까지 진행될 예정)
- https 적용 (100%, 1명 기준 2시간 , 히로)
- DB를 MySQL로 변경 (100%, 1명 기준 2시간 , 히로)
- 서버를 별도로 둘지는 추후 자원 상황에 따라 결정
- API 문서화 (100%, 1명 기준 하루, 쿨라임, 카프카)
- 발표 준비 (100%, 목요일 오후, 전원)
- 게시물과 감정 도메인 설계 마치기(100%, 2명 기준 2일, 쿨라임, 카프카)
- 맴버 도메인 설계 및 게시물/댓글 도메인과의 연관관계 구현하기(100%, ???, 히로, 쪼밀리, 그래)
- 다이어리 기능(50%)
- 대댓글 도메인 설계(50%)
- 버퍼 기간에 진행할 이슈
- 댓글 / 대댓글 프론트엔드 기능 구현
- 댓글 닉네임 기능
- 게시물 필터 기능
- 다이어리 필터 기능
- 게시물 추천 기능
- 댓글 추천 기능
- 배너 기능
- 내 활동 분석 기능
- 로그아웃 기능
- 탈퇴 기능
- 할 일 목록
- 우리 서비스의 모바일 환경 설정(pwa, ionic 등)에 대해서는, 8월 19일까지 학습한 후 19일 당일에 결정한다.
- 신고 기능 및 admin 페이지는 우선순위를 낮춘다.(버퍼 기간에 진행하는 것을 목표로 한다)
- 스프린트6이 끝난 후, 역할을 바꿔서 해보지 못한 업무를 해본다.
그래, 쪼밀리, 카프카, 쿨라임, 히로
- 2차 데모까지 할 일을 정리하고, 분업한다.
- 2차 데모까지 할 일을 정리하고, 분업한다.
-
할 일 목록
- 피드, 글쓰기 페이지 1차 완성 100%
- CI 도구 선정, 쉘 스크립트 생성, 배포 자동화 100%
- 디버깅을 위한 로깅 시스템 만들기 100%
- 멤버 관리, 다이어리 1차 완성 구현 50%
- 디테일 페이지 1차 완성 50%
- 발표 준비(예시 api 프록시 설정) -> 마지막 날에
-
분업 계획
-
배포100%: 쪼밀리, 히로
-
피드100%: 카프카
-
글쓰기100%: 쿨라임, 그래
-
로깅100%: 그래, 쿨라임
-
멤버+다이어리50%: 쪼밀리, 히로
-
디테일 50%: 카프카
-
테스트 리팩토링, 문서화
-
슬랙 알림 연동
=> 100% 계획은 화요일까지, 나머지는 그 이후에 이어서 하기로!
-
-
그래, 쪼밀리, 카프카, 쿨라임, 히로
- 프론트엔드 레이아웃 설계에 대해 고민해본다.
정보공유
그래 : 직접 예시를 만들어보았다.
쿨라임 : 직접 예시를 만들어보았다.
카프카 : 좋은 프로젝트를 찾아서, 공유해보려고 한다.(슬랙 공유)
히로 : 배포에 대해서 아이디어를 생각했다.
기본 레이아웃
- vuetify → complex
우선순위 UI 컴포넌트
- 바텀 네비게이션 : 쉬프트
- 카드 : 트위터 카드
- 글쓰기 에디터 : 기본-solo text area
- beautiful forms - password 칸에 글자수 체크 기능이 있었음. 이를 활용할 수 있다.
- beautiful forms - 하단의 체크박스 재활용 가능
- 300자에 맞게 사이즈가 정해지는 것으로 생각 (textarea 크기 조절을 할 수 없도록!)
추후 순위 UI 컴포넌트
- 캐러셀(메인 배너) : 어떻게 진행할지 고민중. 블록으로 해도 된다는 의견이 나옴(아이디어 참고)
- 팝오버 메뉴 : popover menu 사용
그래, 쪼밀리, 카프카, 쿨라임, 히로
- 코드 리뷰 진행
- PR 머지 후 버전 관리
- 스프린트3 계획 짜기
- 요구사항명세서 업데이트
- 인수 테스트를 완전히 작성하면, 하나의 인수 테스트 시나리오가 하나의 기능 단위에 대한 설명으로 볼 수 있게 됨
- 그러므로, 인수 테스트를 모두 쓰면 그 내용을 요구사항명세서에 업데이트하는 것이 좋을 것 같음.
- 해당 인수테스트를 작성한 팀이, 작업 마지막에서 요구사항명세서 작성까지 담당하기로 함.
- 감정 회고때 칭찬할 점 2개 정해서 해주자!
그래, 쪼밀리, 카프카, 쿨라임, 히로
- 데모데이 첫 발표 준비
-
키워드 선정
새벽 :당신의 마음, 새벽이 들어줄게요
-
(만드는 사람은?) 팀 소개 (3분)
- 팀문화
- 불통과 거리두기
- 마음의 문을 열자
- 자라나라 오글오글!
- 나만 아는 보통은 보통이 아니다
- 과정을 즐기자
- 막상 해보면 별 거 아냐
- 팀문화
-
프로젝트 소개 (4분)
- 키워드(익명성, 휘발성, 컨셉) - 워드클라우드 이미지 만듬
- 기술 스택 이미지 하나로 만듬
- 스토리 보드로 우리의 서비스를 직관적으로 보여주기
-
진행상황 (3분)
- 에픽이 뭔지 설명
- 매주 큰 에픽에 맞춰 일정을 가져가고 있다.
- 이슈들은 이런 게 있어요 하고 설명하면 될듯
- 스프린트를 어떻게 관리하고 있는지
- 앞으로의 일정도 간략하게 소개
- 에픽이 뭔지 설명
그래, 쪼밀리, 카프카, 쿨라임, 히로
금요일(7.17) 발표 어떻게 할까?
- 자료 준비하기
- 발표자 정하기
- 맘에 드는 주제를 발표하기?
- 이런 건 다른 팀에게 소개하고 싶다 / 이런 것에 대해 이야기하고 싶다 등을 생각해서 공유해보자.
-
매주 문서화 작업을 하면 너무 부하가 크다 → README를 잘 정리하는 게 포트폴리오 역할도 하고 시간도 많이 소비하지 않을 것 같다.
-
README에 들어가야 할 내용
- 프로젝트 소개
- 팀 소개
- 진행상황
-
키워드 보여주기(우리는 이런 걸 만듭니다)
-
(만드는 사람은?) 팀 소개 (3분)
- 팀원소개 - 놈놈놈
- 팀문화
- 소통을 두려워 말라 / 대립보다 대화 / 우린 다 네편이야!!
- 모두가 성장하는 오글 / 자라나라 오글오글!!
- 열린 사고, 열린 생각 / 뭐든지 가능해 / 열려있네 열려있어
- 다름을 인정하는 오글 / 우린 다 달라!! / 놈놈놈놈놈
- 과정을 즐기는 / 피할 수 없다면 즐겨라 / 놀러와 오글로
- 막상 해보면 별 거 아냐 / 쫄지마
-
프로젝트 소개 (4분)
- 키워드(익명성, 휘발성, 컨셉) - 워드클라우드 사용해볼까
- 스토리 보드로 우리의 서비스를 직관적으로 보여주기
- 기술 스택을 선택한 이유
-
진행상황 (3분)
- 에픽이 뭔지 설명
- 매주 큰 에픽에 맞춰 일정을 가져가고 있다.
- 이슈들은 이런 게 있어요 하고 설명하면 될듯
- 스프린트를 어떻게 관리하고 있는지
- 앞으로의 일정도 간략하게 소개
- 에픽이 뭔지 설명
- 이름없이 공유하는 감정 다이어리
- 감정을 공유하는 익명 다이어리
- 익명 공감 다이어리
- 익명 + 공유를 합친 부드러운 단어가 있을 것 같다
- 속마음
- 이름없는
- 아무도 몰래 당신의 감정을 말하세요
- 당신의 감정을 들어줄게요 + 익명성
- 익명성을 나타내는 단어? 비밀, 가면, 블라인드, 대나무숲, 우체통, 귓속말, 속닥속닥, 텔레그램, 고해성사, 고백
- 감정을 기록하다, 감정에 공감하다.
- 함께 나누는 익명 감정 다이어리
- 감정을 기록하세요, 우리가 들어줄게요
- 병편지
- 교환일기
그래, 쪼밀리, 카프카, 쿨라임, 히로
앞으로의 일정 관리에 대해 논의하기
말하는 사람의 부담 덜기
소통 규칙
- 내가 이해하지 못했거나, 고민중이거나, 대화를 놓쳤거나...자신의 상태를 공유해주기
- 이해가 잘 안되면 발언자에게 적극적으로 물어보기
금요일(7.17) 발표 어떻게 할까?
- 자료 준비하기
- 발표자 정하기
- 맘에 드는 주제를 발표하기?
- 이런 건 다른 팀에게 소개하고 싶다 / 이런 것에 대해 이야기하고 싶다 등을 생각해서 공유해보자.
내부 일정 관리가 필요하다
- 8주 진행 중 (언제까지는 - 어떤 일정이 끝나야 한다) 와 같은 것을 미리 정해두자.
- 2주차 목표 : 글과 댓글 기능
- 3주차 목표 : 소셜 로그인 + 프론트 시작?, 랜덤 닉네임 생성 전략
- 4주차 목표 : 피드 기능 + 작성글 확인 (백 + 프론트) + 추천,좋아요 기능
- 5주차 목표 : 내 활동 분석 기능, 다이어리 기능, 로그아웃 기능, 탈퇴 기능
- 6주차 목표 : 신고 기능, 필터 기능, 배포
에픽 진행
- 로그인을 어떻게 진행할 것인가 → 소셜 로그인, 얹고 가자!
- 현재 진행중인 에픽 종료 후 다같이 코드 확인해서 얹기..
그래, 쪼밀리, 카프카, 쿨라임, 히로
스프린트 2 진행
- 진행 방식
- 에픽 3개를 정해서 이에 맞춰 스프린트를 진행한다.
- 일정이 부족할 시 다음 스프린트에 반영한다.
- 이슈는 에픽에 맞춰서 등록한다.
- 진행할 에픽
- 글 작성 기능 구현하기 #5
- 글 삭제 기능 구현하기 #8
- 작성글 확인 기능 구현하기 #10
#5, #10 2개 팀으로 나누고 #8 이슈는 먼저 끝난 팀이 담당
- 일정 논의
월요일 :
- 도메인(게시글) 설계
- 클래스 다어그램 만들기
- 엔티티 개발 및 develop 반영
- 패키지 구조 설계
- 팀 작업 착수
화요일 ~ 수요일 : 각자 담당한 에픽 개발 진행
목요일 : 로그인 반영 작업
금요일 : 버퍼 기간, 회고/코드리뷰/데일리 팀 일정
그래, 쪼밀리, 카프카, 쿨라임, 히로
- #29 프레임워크 버전 선택하기
- #25 Git initial commit 만들기
- Git Flow 및 프로젝트 세팅
- 소셜 로그인 관련 이슈(네이버) 등록하기
- 도메인 설계 - 회원 관리 관련 설계 집중
- #29 프레임워크 버전 선택하기
- 자바 JDK 1.8
- gradle 6.4.1
- spring boot 2.3.1
- jpa,h2, lombok, security 부트 버전에 맞게 자동 주입
- mySql 배포할 때 택하는 걸로(mariaDB로 마이그레이션 가능성도 있음!)
- rest-assured, asciidoctor, mockmvc는 atdd-subway-favorite 미션 기준
- #25 Git initial commit 만들기 -
- Git Flow 및 프로젝트 세팅
- 소셜 로그인 관련 이슈(네이버) 등록하기 - 완료
- 보안 관련 소스파일은 .gitignore에 반드시 등록할 것!
- 깃허브 이슈 등록
- 요구사항명세서에도 반영
- 도메인 설계 - 회원 관리 관련 설계 집중
Member 엔티티 설계
id(PK) : 자동생성 키, Long / BIGINT
socialId : 고유한 키 값, String / VARCHAR (소셜에서 제공한 값, 이미 가입한 사람인지 로그인/회원가입 로직에서 활용)
birthYear : 생년, Integer / INT
gender : 성별, Enum / VARCHAR(5)
createAt : 가입날짜, LocalDateTime / DATETIME
isDeleted : 탈퇴여부, Boolean / TINYINT
- 그래프 그리는 라이브러리 선택 이슈에 추가하기
- DB 연결 정보 등 민감한 데이터가 들어갈 파일을 properties에 작성하고, .gitignore에 등록하기
- Oauth 관련 민감한 데이터가 들어갈 파일을 properties에 작성하고, .gitignore에 등록하기
그래, 쪼밀리, 카프카, 쿨라임, 히로
- 깃 플로우 조사해오기
- 코드 컨벤션 조사해오기
- #26 Git Flow 전략 협의하기
- #27 코드 컨벤션 정하기
- #23 기획 문서 업로드하기
-
#26 Git Flow 전략 협의하기
- 브랜치는 master, develop, feature을 우선 사용하고, hotfix는 필요시 사용한다.
- release브랜치는 사용 안함
- 개발 완료된 feature브랜치는 develop에 머지 후 삭제
- 새벽 리모트 레포지토리에서 모든 브랜치 관리
- 일단 1주일은 포크를 사용하지 않는 방식으로 진행하고, 만약에 포크를 사용하는 방안이 더 나을 것 같다라고 생각이 들면 바꿔보기
- feature 브랜치 이름은 feature/이슈번호-키워드 (예 : feature/3-facebook-login) 이런 형식으로
- 머지는 일단 하고 코드리뷰는 일주일에 2번(화,금)
- 커밋컨벤션
-
feat: 어쩌구 구현
형식으로 -
feat, refactor, docs, fix, test, chore(build.gradle 수정), style(코드형식만 수정)
-
커밋 메세지 및 본문 내용은 간략하게 적는다.
-
본문 내용은 필요 시 작성하며, 2번 개행 후 불릿을 달아 간략하게 적는다.
feat: 로그인 구현
- 페이스북 로그인 구현
- Member엔티티 수정
-
-
#27 코드 컨벤션 정하기
- 자바 코딩 컨벤션
- 객체지향 생활체조를 기본으로 한다.
- 인덴트 뎁스는 2까지 허용한다.
- 인덴트는 4 spaces
- 코드 포멧터를 사용한다. (프론트 들어가기 전까진 sonarLint + 인텔리제이 내장포멧터 사용)
- DisplayName 안의 문구, 테스트메서드 이름을 어떻게 지을지
- 테스트 메서드는 메서드명 + Test (예 :
duplicateTest()
) @DisplayName("~~~ 일때 ~~~ 해야한다")
- 예외일땐
@DisplayName("예외 테스트: ~~~ 일때 ~~~ 해야한다")
- ATDD는 given(), when(), then() 사용, 단위테스트는 필요시 개행으로 나타낸다.
- 테스트 메서드는 메서드명 + Test (예 :
-
#23 기획 문서 업로드하기
그래, 쪼밀리, 카프카, 쿨라임, 히로
- 요구사항명세서 읽고 오기
- 스토리보드 읽고 오기
- 깃헙을 이용한 이슈 관리 방법 조사하기
- 깃헙 프로젝트 관리에 사용할 도구 선정
- 깃헙에 등록할 기능 목록 선정
- 선정한 기능의 우선 순위
- 이슈 관리 단위
- 이슈 관리 템플릿
- 태그 분류
- 깃헙 프로젝트 관리에 사용할 도구 선정
- ZenHub를 사용하여 이슈를 관리할까?
- 만약 ZenHub를 사용하면 ZenHub 익스텐션이 없는 사람은 이슈 상황을 볼 수 없다.
- GitHub Projects를 이용하면 볼 수 있다. 다만 둘 다 운영하려면 일을 두 번 해야 한다. 꼬일 수도 있다. → Project와 연동할 수 있는 방법이 없다면 사용하지 않는다.
- 깃헙에 등록할 기능 목록 선정
- 선정한 기능의 우선 순위
[1] 깃허브 위키 정리하기
[2] 개발 환경 세팅하기
[3] 로그인 기능
[4] 회원 가입 기능 구현하기
[5] 글 작성 기능 구현하기
[6] 피드 기능 구현하기
[7] 프론트엔드 구현하기
[8] 글 삭제 기능 구현하기
[9] 댓글 기능 구현하기
[10] 작성글 확인 기능 구현하기
[11] 추천, 좋아요 기능 구현하기
[12] 내 활동 분석 기능 구현하기
[13] 피드 글 필터 기능 구현하기
[14] 작성글 확인 필터 기능 구현하기
[15] 신고 기능 구현하기
[16] 로그아웃 기능 구현하기
[17] 탈퇴 기능 구현하기
[18] 생년월일, 성별 변경 기능 구현하기
- 이슈 관리 단위
- Epic 관리 방법
- 마일스톤을 epic처럼 사용하기
- Issues 라벨을 세분화해서 쓰기(라벨이 많아지면 보기 불편할지도)
- 이슈는 메서드 단위로 세세하게
- 이슈 관리 템플릿
- 이슈명 한글
- 이슈명은 '~하기'로 통일, 디테일하게
- 문어체보다는 구어체로
예시
- 책의 위치를 표시하는 기능을 추가하기(O)
- 책 위치 표시 기능 추가하기(X)
- 버그의 경우 [bug] 같은 대괄호를 달아주기? → 라벨 줄이기
- 기능 이슈 템플릿
- 목적
- 체크리스트
- 주의 사항
- 관련 이슈
- 일정
- 버그 리포트 이슈 템플릿
- 발생 위치
- 발견된 오류 동작
- 의도했던 동작
- 발생한 브라우저, 디바이스, OS
- 버그 재현 절차
- 스크린 샷
- 예상되는 원인
- 버그 픽스 이슈 템플릿
- 버그 리포트 이슈 번호
- 해결 방안
- 체크리스트
- 주의 사항
- 관련 이슈
- 일정
- 태그 분류
- 라벨 선정
- 중요도 → ⭐⭐⭐,⭐⭐, ⭐
- 별 3개에 빨간 배경
- 불탄다🔥
- 삐용삐용‼
- 급하다급해‼
- 빨간 목욕탕 표시: ♨긴급♨
- 스프린트1, 스프린트2, 스프린트3...
- 데이터베이스, 백엔드, 프론트엔드, 테스트, 비개발, 무언가...?
- 테스트 → 테스트와 관련된 이슈에만 붙이기. 기본 개발은 tdd나 atdd로 진행
- 중요도 → ⭐⭐⭐,⭐⭐, ⭐
- 이슈 템플릿 등록하기
- 이슈 등록하기
- 각 epic에 참조 등록하기
- Epic 3의 이슈부터는 프로젝트 진행하면서 등록하기로
- 회원가입, 로그인 기능 구현할 때, DB 테이블과 Entity, Repository 설계 이슈 등록하기
그래, 쪼밀리, 카프카, 쿨라임, 히로
- 서비스 컨셉 논의
- 분석에 포함되는 내용
- 분석을 보여주는 방법
- 감정 키워드 선정
- 글 작성 횟수 정책 정하기
- 글 양식
- 신고 정책
- 댓글 정책
- 추가기능
- 서비스 컨셉 논의
- 이 서비스가 감정쓰레기통의 역할을 하는 서비스인지, 아니면 글솜씨를 뽐내는 서비스인지 컨셉을 확실히 정하는 게 필요할 거 같다
- 감정 일기로 갈 거면 다른 인사이트를 줄 수 있어야 할 것 같다.
- 퍼블릭과 프라이빗. 퍼블릭은 글자수 제한이 필요할 것 같고 프라이빗은 제한이 필요없을 수도
- 내가 언제 기뻤고, 언제 우울했는지 볼 수 있으면 좋겠다(감정에 따른 필터링)
- 댓글을 막을 수 있을지, 없을지 선택하면 좋을 것 같음
- 남성, 여성, 연령을 받으면 필요할 때 사용할 수 있을 것 같다. 받기는 받되 표시는 하지않는게 좋을수도
- 메인 페이지에 카드뉴스(오늘 사람들이 제일많이 느낀감정 등), 오늘 추천 제일 많이받은 글
- 앱 디자인은 따뜻하고 고요하고 심플한 느낌을 원함
- 랜덤 보기 기능 고려해보기
- 감정마다 색깔이 있으면 좋을듯
- 분석에 포함되는 내용
- 글을 몇개 썼는지
- 다른 유저와 비교해서 통계
- 글자수 몇 자, "일기장 두 권째에요"
- 언제 많이 쓰는 사람인지, "새벽형 사람이군요", "당신의 감수성은 ~언제 폭발하는군요"
- 분석을 보여주는 방법
- 감정에 해당하는 글을 쓴 횟수
- 다각형
- 그래프
- 달력
- 감정 키워드 선정
- 대분류 → 이모티콘으로 표현, 선택 (화면을 독립시킬지, 팝업으로 선택할지?)
- 소분류 → 태그형식 선택 (복수 선택 가능 / 개수 제한_3개)
(예시)
대분류 | 소분류 |
---|---|
기쁨 | 기뻐요, 행복해요 |
분노 | 화나요, 짜증나요 |
고민 | 고민돼요, 막막해요, 무력해요, 싱숭생숭해요 |
슬픔 | 슬퍼요, 우울해요 |
사랑 | 설레요, 싱숭생숭해요 |
기타 | 센치해요 |
- 글 작성 횟수 정책 정하기
- 무제한 (일정한 시간 내에 n번 이상 올리면 안되는 방법 등, 무제한의 단점을 막을만한 방안이 필요)
- 글 양식
- 최소 길이 제한은 없고, 최대 길이 제한은 300자 정도 (띄어쓰기 포함)
- 신고 정책
- 게시글 / 댓글로 신고 당한 유저 제재
- 광고성 → 관리자가 확인 후 바로 탈퇴 조치
- 악플
- 한 게시글 혹은 댓글에 신고가 4개까지 들어오면 관리자가 확인 후 블라인드 처리
- 한 게시글 혹은 댓글에 신고가 5개 이상 들어오면 관리자 확인 없이 바로 블라인드 처리
- 블라인드 1개 적립 시 경고 → 2개 적립 시 7일 글 작성 / 댓글 작성 정지 → 3개 적립 시 탈퇴
- 도배 → 관리자가 확인 후 바로 탈퇴 조치
- 불법 → 관리자가 확인 후 바로 탈퇴 조치
- 서비스 목표(감성 공유)에 맞지 않는 게시글 / 댓글 → 신고가 오면 블라인드 처리
- 댓글 정책
- 글 작성 시 옵션으로 댓글창 오픈 여부를 결정
- 대댓글 작성도 가능해야 함
- 추천 / 신고 버튼 필요
- 추천이 많은 댓글은 상위에 노출시킬지 고민해보기
- 추천 많은 댓글을 '오늘의 댓글' 식으로 보여줄 수도 있다
- 작성자(게시자)와 댓글 작성자를 구분할 수 있도록 랜덤 닉네임 지정
- 감성적인 단어 조합으로 닉네임을 만들기
- 일정 주기마다 조합 바꾸기 등 고민해보기
- 효과 : 닉네임 때문에 악성 유저가 조금 줄어들 수도 있음.
- 댓글쓸때 placeholder에 "해결보단 공감을 해주세요"같은 문구 넣어주면 좋을듯
- 추가기능
- 자살같은 자극적인 키워드, 욕설, 전화번호 등은 글 작성 시 등록이 불가능하도록 필터링해야 함
- 회원가입을 마치고 나서 편지글 형식으로 이 서비스를 설명하는 방법 제안
- 글 작성이 가능한 시간대에 푸쉬 알림을 보낸다. ("지금 어떤 기분이에요? 새벽에 알려주세요!")
# 2020/00/00 템플릿 작성
### 참석자
(예시) 그래, 쪼밀리, 카프카, 쿨라임, 히로
### 준비사항
(예시)
- 템플릿 조사해오기
### 안건
(예시)
1. 회의록 템플릿을 결정한다.
2. 결정한 회의록 템플릿을 적용한다.
### 내용
(예시)
1. 회의록 템플릿을 결정한다.
- 템플릿에 들어갈 항목을 정한다.
- 제목
- 참석자
- 안건
- 내용
2. 결정한 회의록 템플릿을 적용한다.
- 그 동안 기록했던 회의 내용을 템플릿에 맞게 수정한다.
### 기타
(예시)
- 기타로 논의할 사항이 생겼다.