---
# System prepended metadata

title: 승리의 5주 프로젝트 1b

---

# 승리의 5주 프로젝트 1b


- (API, 컴포넌트 등)설계에 시간을 많이 투자하자
- iOS & web 같이 api 설계하자

## 오늘 할 것
### 깃헙 repository 만들기
### 그라운드 룰
- 스크럼 마스터가 한 주 동안 PM 역할 맡기



| Week 1|Week 2|Week 3|Week 4|Week 5|
| ---- | ----- | ---- | -----|-------|
| 홍동현 | 조수정 | 조정혜 | 임지영 | 김민지 |

    - 동현 → 수정 → 정혜 → 지영 → 민지
- 전날 기록한 진행사항 hackMD 읽기 10:00 ~ 10:05
- 데일리 스크럼 10:05 ~ 10:20
- iOS <-> Web 요구사항은 hackMD에 기록하기
- 스파크플러스 배정 요일은 꼭 오프라인 참석
    - 배정 요일 이외에는 Web/iOS 끼리 따로 조율
- 코어 타임 (10:00 ~ 19:00) 외의 일정
    - 10:03 까지 오지 않으면 전화해서 깨우기
    - 연락 가능 시간 10:00 ~ 21:00
        - 그 이후 발생하는 이슈 및 추가 진행사항은 hackMD에 기록하기
        - 해당 사항들은 다음 날 스크럼 때 공유하며 의견 나누고 조율
- 주말은 강제하지 않고 자율적으로 하는 대신 진행상황 문서로 공유하기
- 격주로 따로 멘토님들께 데모 시연

### 코딩컨벤션
#### WEB
- 변수명, 함수명 : 축약 x, CamelCase 사용
- 함수는 화살표 함수 표기법 사용
- 코딩 스타일: airbnb style guide
- 파일명
    - 파일명은 대문자로 시작
    - Camel Case로 작성
- 이벤트명명
    - 주제 + 동작 
        - ex) adClick : 광고를 클릭한다.
        - [구글 애널리틱스 이벤트 수집](https://support.google.com/analytics/answer/9234069?hl=ko) 참고
- [NHN 코딩컨벤션](https://nuli.navercorp.com/data/convention/NHN_Coding_Conventions_for_Markup_Languages.pdf)을 참고한다.
#### iOS
- 
### Issue & 커밋 & PR 규칙
- Issue, PR은 템플릿 제작하여 따르기
- 커밋 메세지 템플릿 : `[부서] Type: 제목 #이슈번호`
    - [FE / BE / iOS] Feat: 로그인 컴포넌트 구현 #1
    - | 타입  | 설명                                       |
      | ---- | -------|
      | Feat | 새로운 기능 추가(CSS 포함)              |
      | Fix  | 버그 수정                                          |
      | Docs     | 문서 수정                                         |
      | Refactor | 코드 리팩토링                                     |
      | Style    | 코드 포맷팅 (코드 변경이 없는 경우)(줄바꿈, 오타) |
      | Test     | 테스트 코드 작성 (테스트 코드 추가, 수정, 삭제: 비즈니스 로직에 변경 없음)   |
      | Chore    | 소스 코드를 건들지 않는 작업(빌드 업무 수정)      |


    - https://junwoo45.github.io/2020-02-06-commit_template/ 참고
    - 커밋은 가능한 의미있는 최소 단위로 하기 
        - ex) Web: 함수 , iOS: 뷰
- PR `[부서] 제목 #이슈번호`
    - [FE / BE / iOS] 로그인 기능 구현 #1
    - 한 명 이상의 approve를 받아야 merge 가능.
    - PR 하나에 이슈 하나(기능 단위)

### 브랜치 관리 규칙
master
dev_web
dev_ios
feat/기능이름-부서
ex) feat/login-FE
기능 이름이 너무 길면 언더스코어로 구분

### 바이브 분석 & 기획

- 화면 요소 분석(버튼, 스크롤 등..)
- 사용자 이벤트가 발생하는 컴포넌트 위주로 파악
- 화요일에 만나서 분석 후 문서화 -> 수요일 미팅

### 킥오프 미팅


바이브 시뮬레이터
바이브의 미니버전
ios, web 둘 다 있음 
https://vibe.naver.com/today
어떤 화면이 있나 수집하기
화면의 요소들 (버튼, 스크롤,... )

이벤트 수집 ? 
유저 이벤트 로그
어떤 버튼을 눌렀을 때 어떤 유저가 언제 눌렀고 그 버튼이 뭔지 서버에 전송

바이브 화면 요소를 분석해서 시뮬 버전을 만든다

수요일 미팅
숙제 -> 바이브 파악하기 .. ? -> 금요일 scope 확정
음악 재생만 되지 않는 바이브 클론 + 사용자가 누르는 컴포넌트 파악
눌리는 컴포넌트 파악
db설계 시 웹 컴포넌트 & iOS 컴포넌트 나눠서 구현
'데이터 분석을 위해 어떤 데이터가 필요한지'까지 설계해야 하나?

수요일까지 어떻게 ?
기술스택 정하기
어디까지 이벤트로 볼 것인가 ?
어떻게 데이터를 저장할 것인가 ? -> 구글 애널리틱스처럼? or 컴포넌트 정보+이벤트(클릭 등등..)
분석 후 문서화

--- 
### 어디까지 이벤트로 볼 것인가?
- 사용자의 행동
- [예시](https://support.google.com/analytics/answer/9267738?hl=ko&ref_topic=9756175)
- 어떤 화면에서 클릭됐는지


---
### 페이지
- 메인페이지 === 투데이
- 매거진
    - 스토리
- 플레이리스트
    - 믹스테잎
    - 최근 들은 노래
    - 내 취향 플레이리스트
    - 이달의 노래
    - 뉴스
- 앨범페이지
- 차트페이지
- DJ스테이션
- 결제/멤버십 구독 페이지
- 아티스트페이지




### 필수 수집정보
- 사용자
- 시간
- 컴포넌트 (id ?) : 
- 이벤트가 발생된 페이지 정보

### common
|event| 트리거 |예상 수집정보(파라미터)|
|-----|------|------|
|page_view| 페이지 조회| 현재페이지,다음페이지| 
|cancle|action을 취소할 때|취소된 action|
|close| something 닫기| close된 것|
|add_songs_to_playlist|곡(들)을 플레이리스트에 추가|곡id 목록|
|add_album_to_playlist|앨범을 플레이리스트에 추가|앨범id (목록?)|
|add_playlist_to_playlist|플레이리스트를 플레이리스트에 추가|플레이리스트id|
|remove_from_playlist|플레이리스트에서 삭제|곡 id 목록
|login|로그인 했을때|
|logout|로그아웃 했을때|

### 메인
