1️⃣ package이름은 모두 소문자로 작성한다.

(다만 가독성이 너무 안좋을 때는 snake case를 허용.)

2️⃣ feature단위로 package를 나눈다.

ex) map / mypage / login / signup / cafeti 등

3️⃣ feature단위의 package 안에서 view / viewmodel / model 등 같은 컴포넌트끼리 package를 형성한다.

4️⃣ 한 pacakge 내에 같은 컴포넌트 클래스가 두개 이상이면 package로 묶는다. util성 클래스들은 util클래스에 별도로 모아둔다.

5️⃣ Dependency Injection과 관련하여 Hilt의 모듈 클래스는 module package에서 관리한다.

6️⃣ 기본적으로 feature단위로 package를 나눈 후에 그 안에서 같은 class들을 package로 묶는다.