Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[#4-BoxOffice] 구현 #10

Open
1 of 38 tasks
iiuoon opened this issue Dec 17, 2022 · 0 comments
Open
1 of 38 tasks

[#4-BoxOffice] 구현 #10

iiuoon opened this issue Dec 17, 2022 · 0 comments
Assignees
Labels
🎀 feature 첫 구현

Comments

@iiuoon
Copy link
Owner

iiuoon commented Dec 17, 2022

영화 목록

화면구성

  • 탭 인터페이스와 내비게이션 인터페이스의 결합 형태입니다.
  • 첫 번째 탭은 'Table', 두 번째 탭은 'Collection' 타이틀로 구성합니다.
  • 첫 번째 탭 화면은 테이블형태로, 두 번째 탭 화면은 컬렉션 형태로 같은 데이터를 사용하여 콘텐츠를 표시합니다.
  • 테이블 화면
  • 테이블뷰 셀에 영화 포스터를 보여줍니다.
  • 포스터 오른편에 영화정보(제목, 등급, 평점, 예매순위, 예매율, 개봉일)를 보여줍니다.
  • 컬렉션 화면
  • 컬렉션뷰 셀에 영화 포스터와 등급을 함께 보여줍니다.
  • 포스터 아래 영화정보(제목, 평점, 순위, 예매율, 개봉일)를 보여줍니다.
  • 내비게이션 아이템의 타이틀은 영화 정렬기준을 표시합니다.
  • 내비게이션바 오른쪽 부분에는 내비게이션 아이템으로 바 버튼이 있습니다.
  • 바 버튼은 정렬방식을 선택하기 위한 버튼입니다.

기능

  • 화면 오른쪽 상단 바 버튼을 눌러 정렬방식을 변경할 수 있습니다. (예매율/큐레이션/개봉일 기준)
  • 테이블뷰와 컬렉션뷰의 영화 정렬방식은 동일하게 적용됩니다. 즉, 한 화면에서 변경하면 다른 화면에도 변경이 적용되어 있어야 합니다.
  • 테이블뷰와 컬렉션뷰를 아래쪽으로 잡아당기면 새로고침됩니다.
  • 테이블뷰/컬렉션뷰의 셀을 누르면 해당 영화의 상세 정보를 보여주는 화면 2로 전환합니다.

영화 상세 정보

화면구성

  • 화면2 내비게이션 아이템 타이틀은 이전 화면에서 선택된 영화 제목입니다.
  • 영화 상세정보 화면을 구현합니다.
  • 영화 포스터를 포함한 소개, 줄거리, 감독/출연 그리고 한줄평을 모두 포함합니다.
  • 한줄평에는 작성자의 프로필, 닉네임, 별점, 작성일 그리고 평을 보여줍니다.
  • 한줄평 오른쪽 상단에는 새로운 한줄평을 남길 수 있는 버튼이 있습니다.

기능

  • 영화 포스터를 터치하면 포스터를 전체화면에서 볼 수 있습니다.
  • 한줄평 오른쪽 상단의 새로운 한줄평 남기기 버튼을 탭하면 화면3으로 전환합니다.

한줄평 작성

화면구성

  • 별점을 남길 수 있는 별점선택 영역이 있습니다.
  • 닉네임을 작성할 수 있는 텍스트필드가 있습니다.
  • 한줄평을 작성할 수 있는 텍스트뷰가 있습니다.
  • 내비게이션 아이템으로 '완료'와 '취소'버튼이 있습니다.

기능

  • 영화에 대한 한줄평을 남길 수 있습니다.
  • 5개의 별을 터치 또는 드래그해서 별점을 선택할 수 있습니다.
  • 선택된 별이 숫자로 환산돼 별 이미지 아래쪽에 보입니다.
  • 별점은 0~10점 사이의 정수단위입니다.
  • 작성자의 닉네임과 한줄평을 작성하고 '완료' 버튼을 누르면 새로운 한줄평을 등록하고 등록에 성공하면 이전화면으로 되돌아오고, 새로운 한줄평이 업데이트됩니다.
  • 닉네임 또는 한줄평이 모두 작성되지 않은 상태에서 '완료' 버튼을 누르면 경고 알림창이 뜹니다.
  • '취소'버튼을 누르면 이전 화면으로 되돌아갑니다.
  • 기존에 작성했던 닉네임이 있다면 화면3으로 새로 진입할 때 기존의 닉네임이 입력되어 있습니다.

기타

Grand Central Dispatch

  • 백그라운드 네트워킹
  • 네트워킹은 백그라운드 스레드에서 진행되어야 합니다.
  • 이미지 로드
  • 테이블뷰/컬렉션뷰 셀의 이미지 불러오기는 비동기로 백그라운드 스레드에서 처리해야 합니다.
  • 메인 스레드
  • UI 요소 표기는 메인 스레드에서 진행해야 합니다.

Networking

  • Indicator
  • 네트워킹 동작중(로딩/새로고침)에는 상태표시줄(status bar)와 화면에 인디케이터를 사용해 사용자에게 네트워킹 중임을 정확히 표시해야 합니다.
  • Result Handling
  • 데이터 수신 또는 한줄평 등록에 실패한 경우, 알림창을 통해 사용자에게 결과를 표시해야 합니다.
  • URLSession
  • 영화정보를 가져오거나 한줄평을 등록하는 과정은 첨부한 API 문서를 참고하여 URLSession을 활용하여 서버와 통신합니다.
@iiuoon iiuoon added the 🎀 feature 첫 구현 label Dec 17, 2022
@iiuoon iiuoon self-assigned this Dec 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎀 feature 첫 구현
Projects
None yet
Development

No branches or pull requests

1 participant