-
Notifications
You must be signed in to change notification settings - Fork 6
스크럼
1일차에는 그룹 프로젝트동안 개발할 내용에 대해 아이디어 회의를 진행.
전체적인 내용은 HackMD를 사용하여 팀원 간 공통으로 작성하였고, 아이디어 결정을 위해 aggie.io로 브레인스토밍을 진행.
다양한 주제가 나왔고, 투표를 진행해 과반수로 결정했는데 백엔드를 사용하지 않으면서 괜찮은 주제라고 생각했기때문.
목표는 플래너 서비스 배포와, 커스텀 캘린더 뷰의 오픈 소스 공개.
지나간 아이디어
- 코로나로 인한 동아리 집합금지, 알림 서비스
- 웹툰, 웹소설 시장을 저격한 motion TextViewer, ImageViewer
- 지도 api와 코로나 api를 이용해 현 위치 주변에 확진자 동선을 알려주는 앱
- 생일자한테 돈 모아서 선물 추천해주는 어플
- 라이브 동영상 (스트리밍 서비스 )
- 자막 (다이나믹한 자막, 자막과 연동되는 이펙트, 파티클)
- 미디어 (휴대폰 음악 공유, 동기화 서비스, 음악 플레이 리스트 공유 어플):star: :star:
- 센서(마우스 키보드 대체)
- 사진 (OCR 인덱싱 및 검색)
- 갤러리 (자동 앨범 관리)
- 갤러리 (메타버스 미술관)
- 소모임 (너무많은 플랫폼, 회비 정산, )
- vpn(VPN으로 네트워크 속도 가상화)
- 이모티콘 만들기 ⭐
- 키보드 서드파티 지원
- 버스 앱 (6-2A, 6-2B 구분이 안됨)
- we meet place
- 패션 디지털 옷장(ootd 찍기 도와줌, 가지고 있는 옷 보여줌, 옷길이 자동 측정, 가상으로 입어보기, 퍼스널컬러) ⭐ ⭐
- 캘리그라피 학습(그림판), 나만의 손글씨 (font로 추출까지)
- 사진찍기 트레이너(여자친구 사진 잘찍어주기 ^^)
- 파일 또는 앨범 등등 여러 제스쳐로 관리하기(세손가락 터치는 새폴더 등등)
- 실시간 동시 스트리밍 (화면을 공유해주는 것이 아닌 영상 자체를 공유해주는 방식?, BGMS)
- 그라운드 룰 작성
- 깃헙 위키 작성
- 멘토님과 멘토링 시간 조율
2일차에는 그라운드 룰 중 스크럼 가이드와 협업 전략에 대해 논의하고 정리했다.
또한 화이트보드를 통해 요구사항에 대해 논의하고 백로그로 정리하였다. 백로그의 탭은 앱 시나리오, 라이브러리 시나리오, 화면별 기능, 시트 5, 이슈 논의사항으로 구분되는데, 앱 시나리오와 라이브러리 시나리오는 유저 스토리 위주로 작성되었고, 화면별 기능에서 시나리오의 유저 스토리를 feature로 구분하였다.
멘토님과 30분 정도 가벼운 수다를 진행하면서 멘토링 시간을 정했다.
- 프로토타입 작성
- 사용 툴 정리
- 요구사항 및 시나리오 보완
- (프로젝트 초기 설정)
- 기획 고도화
- 프로토 타입 만들기
- 백로그 수정 (앱 화면 설계, 용어 정리 이슈 관리)
3일차는 Figma를 사용하여 프로젝트의 프로토타이핑을 진행함. 프로토타입을 작성해보며 서로 잘 이해하지 못하고 넘어간 백로그를 정리함.
- 코딩 컨벤션 - 뱅크샐러드 + 헤이딜러 정리하기
- 개발환경 세팅 - FireBase Setting, 사용할 lib gradle 세팅
- 프로젝트 초기 설정 - 안드로이드 스튜디오 설정, 세팅 리포지토리?
- CI CD - Bitrise, git hook 설정, git flow
- 저녁 멘토링 (7시)
- 기획 공유 준비 - 아이디어 도출 과정 공유, 백로그 간략 공유, 앱 소개 & 프로토타입 공유, 규칙 공유
- CI CD : Bitrise, git hook 설정, Firebase
- 프로젝트 설정 및 개발 환경 설정
- 저녁 멘토링
- Git Wiki, README 수정
- 기획 공유 준비 : 아이디어 도출 과정 공유, 백로그 간략 공유, 앱 소개 & 프로토타입 공유, 규칙 공유
4일차는 CI CD와 프로젝트 설정 및 개발 환경을 설정함 프로젝트 기획과 기능에 대한 README 정리하고 Git Wiki를 수정함 저녁에 멘토링을 진행하며 프로젝트 상황을 공유하고 피드백을 받음
- 기획 공유
- 역할 분배
- 주차별 계획
- 기능 추가
- 데이터 구조 설계
- 라이브러리 인터페이스 설계
구현을 시작하기 전에 어떤 데이터 클래스가 필요할지 설계했다.
- Git commit, Issue, PR 정책 세우기
- Hilt 적용
- 라이브러리 디자인 요소 결정
- commit, Issue, PR 템플릿 확정
- 월단위 달력 레이아웃 개발
- 년단위 달력 레이아웃 개발
- Hilt 적용, Base class 추가
- 달력, 일정 추가 레이아웃 개발
어제는 git commit, issue, pr에 대한 템플릿을 정했다. 라이브러리 파트는 월,년 단위 달력 레이아웃을 개발했고, 앱 파트는 Hilt 적용과 Base class를 추가하고, 달력과 일정 추가 레이아웃을 개발했다.
뷰모델에서 Context 사용이 필요하다면 먼저 옵저버를 통해 Activity, Fragment에서 조작하고, 중복이 발생하면 바인딩 어댑터로 분리하는 것을 고려.
- 멘토님과 두근두근 멘토링 꺄르륵
- 아이콘 날짜에 맞춰 매일 변경하기
- color 리소스 네이밍 규칙 확정
- backlog 작성 방법 논의
- issue, pr 메시지 형식 또는 best practice
- 추가 구현
- 달력 레이아웃 결정
- 멘토링 진행
- 질문 & 답변
- 달력 레이아웃 결정하계된 과정을 메모해보자
- backlog 작성 방법 논의
- 현재도 나쁘지않지만 만약 내용을 바꿀거라면 이번 주 내에 바꾸는 것을 추천한다. 기획때문에 개발이 늦어지는 것이 우려된다.
- color 리소스 네이밍 규칙
- 값을 두 번 추상화하는 네이밍이 좋다. 사용할 때 가장 덜 불편한 걸 쓰는게 제일 좋을 것 같다.
- 컬러 리소스 처리
- 옵저빙
- 바인딩 어댑터
- 커스텀뷰
- fragment replace 관련 버그 조심하기
- 흰색으로 오래 로딩되는 부분: UI를 서서히 업데이트하는 방법도 있음
- 추가 기능
- room migration 고려하기
- 데이터베이스가 생성된 상태에서 엔티티를 수정하면 에러가 발생하였는데 아직 데이터베이스를 직접 사용하고 있지 않아서 변경이 쉽다.
- 아이콘 날짜에 맞춰 매일 변경하기
- 기본 앱에서 아이콘 바뀌는 건 봤는데 플레이스토어 출시 앱에서는 없어서 아마 찾아봐야할듯하다.
- 무한스크롤
- paging library
- 데이터의 생성 주입해주기
- 메모 드로잉 저장 방식 추천
- 구글 jamboard
- 마크다운 양식
- room migration 고려하기
- color 리소스 네이밍 확정
- backlog 작성 확정
- 데모영상 제작
- 기획 공유 준비
- 달력 레이아웃 결정 과정 정리
- 라이브러리 인터페이스 구현
- 월 달력 터치이벤트 구현
- 연 달력 컴포즈로 마이그레이션
- 침흘린 베개에 포스트잇 붙여둠ㅎㅎ [내꺼 인증]
- 인당 7만원 언저리 남음
- 수목금 식량조달
- 수점 라면
- 수저 김치찜
- 목점 파스타
- 목저 볶음밥
- 금점 (라면)
- 금저 1차 대방어회 2차 대방어회
- 인당 5만
- 구매: 파스타, 맥주, 햄, 소스, 마늘, 제로사이다
- 빨래
- 월 달력 스케쥴 기능 개발
- 연 달력 터치이벤트 구현
- 라이브러리 스케쥴 기능 개발
- 캘린더 데이터베이스 연동
- 알림 기능 구현
- 라이브러리 일정 표시 기능 개발
- 캘린더 데이터베이스 연동
- 알림 기능 구현
- 앱 아이콘 추가
-
식량조달
- 수점 볶음밥
- 수저 김치찜
- 목점 파스타
- 목저
- 금점
- 금저 1차 대방어회 2차 대방어회
- 구매: 파스타, 맥주, 햄, 소스, 마늘, 제로사이다
-
앱 라이브러리 연결: 스케줄 추가 & 달력 추가 & (체크포인트 추가)
-
라이브러리 테마 구현
-
라이브러리 성능 & 코드 개선
-
라이브러리 제공 함수 구현
-
데이터 타입 마이그레이션 (Date -> LocalDate)
-
달력 테마 설정 화면 구현
-
navigation action 마무리
-
날짜 선택 시 스케줄 다이얼로그 show
- 스케줄 데이터 타입 LocalDateTime으로 마이그레이션 (시간속성 추가)
- 월달력 다크테마 구현
- 라이브러리 성능 개선
- 멘토링: #102 #103 #104 이슈 생성
- 브랜치 & PR 교통정리
- 식량조달
- 목저
- 금점
- 금저 1차 대방어회 2차 대방어회 멘토님과 데이트
- 앱 라이브러리 연결: 스케줄 추가 & 달력 추가 & (체크포인트 추가)
- 코드 리뷰
- 데모 준비
- 연달력 테마 구현
- 라이브러리 성능 & 코드 개선
- 라이브러리 제공 함수 구현
- 달력 테마 설정 화면 구현
- navigation action 마무리
- 날짜 선택 시 스케줄 다이얼로그 show
- LiveData -> Flow 마이그레이션
- 휴가
- 라이브러리 배포
- 스케줄 중첩 입력 버그 수정
- 아티클 작성
- 내비게이션 버그 수정
- 테마 기능 구현
- 달력 관리 화면 완성
- 연달력 버그 수정 & 구조 개선
- 내비게이션 버그 수정
- 월달력 attribute 추가
- 달력 관리 화면 완성
- 라이브러리 배포
- 테마 기능 구현
- 체크 포인트, 달력 삭제 기능 구현
- 멘토링
- 연달력 무한스크롤
- 아래쪽만 스크롤 가능
- 뷰를 생성할 때 오늘 날짜로 이동하지 않음
- 일주일 전용 뷰 구현
- Compose Preview 적용
- 디자인 오브젝트의 속성인 날짜 텍스트 정렬을 연달력에 적용
- 달력, 체크포인트 삭제 기능 추가
- 월달력 무한스크롤
- 연달력 위쪽 무한스크롤
- 발표 준비
- 네트워킹데이 노션 정리 ( ~ 일요일)
- 팀원 소개
- 기술스택 정리
- 기술 특장점 정리
- 앱 소개 이미지 넣기 (발표준비 하는김에)
- 테마 변경 적용
- 체크포인트로 달력 나누기
- 멘토링 (20시 30분)
- 기술 정리
- 연달력 체크포인트 기능 적용
- 빈 입력 처리 애니메이션
- 선택한 캘린더가 삭제되면 기본 캘린더를 선택
- 월달력 버그 수정
버그 수정
- 라이브러리 제공함수 인터페이스로 구현
- 슬라이스 모드 일때 월 표시
- 1일에 표시
- 상단에 표시
- 기본 캘린더 삭제 방지
- 슬라이스 하나 이상 입력하도록 설정
- 오픈 소스 화면 추가
- 일정 검색 페이징
- 라이브러리 월 표시방식 수정
- 오픈소스 화면 구현
- 일정 검색 페이징
- 네트워킹 데이 노션 작성
버그 수정
- 라이브러리 제공함수 인터페이스로 구현
- 라이브러리 공통요소 합치기
- 기본 캘린더 삭제 방지
- 슬라이스 하나 이상 입력하도록 설정
- 위젯 디자인
- 페이징
- MainCalendar 데이터 전달 과정 수정
- QA
- 연달력 디자인 수정(다크모드 처리, 테두리 모양)
- 네트워킹데이 노션 1차 제출
- 라이브러리 버그수정
- 월달력 상태저장
- 일정 검색 페이징 구현
- MainCalendarFragment, ViewModel 리팩터링
버그 수정
- 라이브러리 제공함수 인터페이스로 구현
- 라이브러리 공통요소 합치기
- 위젯 디자인
- MainCalendar 데이터 전달 과정 수정
- 디자인 손보기
- 위젯 띄우기 성공
- 연달력 상태유지
- 연달력 어긋난 디자인 수정
- 페이징 버그 수정
- flow 로직 개선
버그 수정
- 라이브러리 버그 수정
- 라이브러리 오늘 날짜 표기 기능 추가
- 테스트 추가
- 위젯 update (현재 30분마다 갱신)
- 공휴일
- holiday -> scheduleItem
- DB migration
버그 수정
- 라이브러리 버그 수정
- 라이브러리 오늘 날짜 표기 기능 추가
- 연달력 성능 개선
- QA
- 테스트 추가
- 위젯 update
- 공휴일
- holiday -> scheduleItem
- DB migration
- 이슈 전부 close하기
- 코드 프리징
- 멘토링
- play store 업데이트
- 데모 영상 준비
- 발표자료 제작
- 리드미 수정