오늘 할 일
기술검토(구체적으로)
화면별 기술검토
- 일기 작성 화면
- 사진 첨부
- PHImagePicker로 이미지 불러오기
- 카메라 불러와서 찍기
- 제목 작성 - 텍스트 필드
- 내용 작성 - 텍스트 뷰
- 해시태그 - 텍스트 필드에 넣고 확인하면 밑의 뷰에 가로로(세로로) 쌓이는 형식.
- 폰트를 잘 선택해서 배경색 없이 하는 건 어떨까요??
- Diffable Data Source
- 음악 정보 첨부 - ShazamKit + 음악 데이터 모델링
- 위치정보 - 네이버 지도 api 활용
- 옵션 기능으로 두었던, 좌표를 핀으로 찍어서 저장할 수 있게 하는 기능도 실현 가능
- 확인 키를 눌러서 저장 (모듈화를 잘 해 둘 것)
- 일기 수정 화면으로써의 기능도 수행할 수 있게끔.
- 일기 리스트 화면
- Pinterest처럼 보여주면 어떨지? 너무 인스타같으면 별로
- 화면상에 정해진 여러 줄의 세로 방향 컬렉션 뷰를 두고, 그 위에 일기들을 놓아 주기.
- 유저가 스크롤했을 때 한 줄 한 줄 움직이지 않게 하고 모두가 움직일 수 있도록 하기.
- 하나의 CollectionView 사용, Cell의 width를 고정하여 넣는데, 각각 Cell의 height를 따로 정하기. 이전 cell의 frame Y좌표를 구하여 위치 조정
- 아이폰에서는 어쩔 수 없이 한 줄로 보여줘야 할 듯..
- 전체적으로는 Diffable Data Source의 적극적인 활용!!
- 검색을 위한 Text Field
- 적었던 일기를 삭제할 수 있는 기능
- (옵션) 나중에 소셜 기능을 위해 private 글 여부를 정할 수 있게끔.
- 일기 상세 화면
- 사진, 제목, 내용 → 그냥 보여줘도 됨
- 해시태그, 음악 정보를 Footer에 넣을지, 그냥 컨텐츠의 맨 아래에 넣을지.
- 위치 정보는 특정 버튼을 누르면 톡 튀어나오게끔.
- 옵셔널한 정보는 없는 경우 없다고 안내해줄 수 있게끔 만듭시다.
- MusicKit(을 위시한 음악 재생 프레임워크)
- 수정하기 버튼을 누르면 수정할 수 있게끔. (향후 소셜 기능을 위해서, 인증된 사용자만 수정할 수 있게끔)
애니메이션을 위한 lottie의 사용!!
프레임워크를 사용하고, 나중에 자체 프레임워크로 리팩토링
번외 : 서버는 어떻게 하시겠어요??
(서버를 사용한다는 전제하에) 우리가 해야 할 것 : 데이터를 서버에 저장하는 것.
문제점 : 이미지를 어디에 넣을 셈??
다른 데이터들의 경우, 기존 서버 지원 프레임워크로 감당이 되는 것 같다.
자체 서버를 만들거나, aws를 사용해야 한다.
의외로 firebase storage로 구현이 가능하다!! 이것과 아마존 s3 사이에서 비용과 용량 문제를 잘 생각해서 결정하자.
우리가 할 일은 모듈화를 잘 하는 것이다.
이용 시나리오