Charlezz / FlickrExample

컴포즈 스터디를 위한 저장소입니다.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FlickrExample

컴포즈 스터디를 위한 저장소입니다.

자유롭게 develop 브랜치에 머지 해주시기 바랍니다. 마지막 스터디 모임 후 main 브랜치로 머지할 예정입니다.

천하제일 Flickr 앱만들기 대회(2월 15일)

1_d8hUd018svc5oo1q67d9g1d_9zl6to

2인 1조로 Flickr API를 이용하여(https://www.flickr.com/services/api/flickr.photos.search.html)

위 스크린샷과 같은 앱을 만든다. 스크롤 가능한 격자형 사진 보기 앱이며, 사진 업로드 기능은 없다. 팀 내에서 시니어와 주니어 역할로 나누어 앱을 구현한다. (팀별로 역할을 다시 설정해도 무관)

주니어 - 컴포즈와 관련된 UI 설계 시니어 - 프로젝트 전반적인 설계 및 데이터 셋 불러오기, 주니어 담당 일진역할

구현 방법이나 라이브러리 사용은 자유입니다. 하지만 코드 리뷰 시 구성원들의 가독성을 위해 권장하는 항목은 다음과 같습니다.

  • Clean Architecture 도입 (data, domain, app(or presentation) 모듈 생성)
  • MVVM or MVI 디자인 패턴 사용
  • Retrofit (HTTPs)
  • Coil (이미지 로딩)
  • Hilt (의존성 주입)
  • Moshi (JSON 파서)
  • 컴포즈 및 컴포즈 부가 라이브러리들

필수 요구 항목 (총 70점, Required) 아래 항목은 반드시 구현되어 위 스크린샷과 같은 화면이 연출되어야 한다.

  • 사용자로부터 키워드를 입력받아 이미지 데이터 셋을 Flickr 서버에서 가져온다.
  • 가져온 이미지들을 컴포즈를 이용하여 렌더링한다.
  • 이미지 항목 클릭 시 “다운로드 하시겠습니까?” 다이얼로그 노출, 확인 시 다운로드

추가 가산점(총 30점, Optional) 아래 항목을 구현하면 총 30점의 가산점을 얻을 수 있다. 해당 프로젝트 만든 팀을 제외한 나머지 3개 팀이 각 항목별로 0~5점까지 점수를 매긴 뒤, 평균값을 계산하여 가산점으로 적용한다.

추가 가산점 항목 (항목당 최대 5점)

  • 최상위 레벨의 화면(Screen)이 @Preview 및 Interaction 이 구현되어야 함
  • 앱 완성도(버벅임, 심미성 등)
  • 화면회전 등과 같은 구성변경 시에도 상태를 보존하고, 적절한 UI 구성(예: 동적 column count)
  • 이미지 데이터 페이징 구현 (무한 스크롤)
  • 프로젝트 (코드) 퀄리티 (유닛테스트, 관심사 분리, 재사용성 등)
  • (팀별) 프로젝트의 강점 어필 후 다른팀의 평가

팀 소개

권대원 - 권대원, 옥수환

헬로컴포즈 - 송진광, 고승윤

굿바이엑세멜 - 최우성, 장재종

sum3years - 정형찬, 박명범

About

컴포즈 스터디를 위한 저장소입니다.


Languages

Language:Kotlin 100.0%