✅ 10주차 목표
- 프로젝트에 포함된 파일들을 패키지를 이용해 구조화할 수 있다.
- 카카오 소셜로그인을 구현할 수 있다.
1. 템플릿 구조화
지금껏 FLO 앱의 클론 코딩을 진행하면서, 수 많은 파일들을 만들었다. 그러다보니, 프로젝트가 다소 정돈되지 않은 느낌이 드는 것은 물론, 필요한 파일을 찾기도 어렵다. 그러므로 본인이 선택한 디자인 패턴에 맞게 적절히 패키징하여, 정돈된 구조의 템플릿을 만들어야 할 것이다. 사실 템플릿 구조화에는 정형화된 형식이 존재하는 것은 아니고, 팀에서 정한 컨벤션을 따라 정리하거나 누구나 보기 쉽게 정리하면 된다.
실제 에어컨 모아 프로젝트를 진행할 때 사용했던, 안드로이드 코드를 이용해 템플릿 구조화에 대해 간략히 설명하도록 하겠다.
① config, ui, util 패키지 구분
- config 패키지에는 토큰 인터셉터나, 커스텀 액티비티(프래그먼트), 커스텀 응답 객체, 애플리케이션 전체 설정, API 관련 설정 파일처럼 애플리케이션의 전반적인 설정과 관련한 파일들을 배치한다.
- ui 패키지에서는 화면 또는 기능 단위로 묶인 하위 패키지를 관리한다.
- util 패키지에는 Firebase 관련 설정 등 특수 목적의 설정 파일들을 배치한다.

② ui 패키지
- 각 ui 패키지에는 일반적으로 model 패키지, Activity, ActivityInterface, RetrofitInterface, Service 파일이 포함된다.
- model 패키지에는 API에 사용되는 data class를 배치한다.
- ActivityInterface, Service는 9주차 실습 중 API 모듈화 부분에 해당하는 파일이다.

2. 카카오 소셜로그인
카카오 소셜로그인이나 네이버 소셜로그인을 구현하는 방법은 아래의 포스팅에서 이미 다루었으니 참고하기 바란다.
>> 카카오 소셜로그인
>> 네이버 소셜로그인