미주정복은 첫 번째 졸업프로젝트로 진행한 미국 주식 배당 관리 애플리케이션이다.
이때는 MVVM, MVP 등등 모델에 대한 개념이 없었어서, 원하는 대로 구조를 만들었다.
SharedViewModel이라는 것을 만들어서 공유 데이터베이스 처럼 사용했는데 지금 보니 고쳐야 할 부분이 많이 보인다.
최근, 한 회사의 개발 테스트를 봤었다.
물론...내가 과제를 다 완성하기 전에 채용 마감이 되었지만 MVVM과 DI(Hilt)에 대해 공부해보는 좋은 기회가 되었다.
그래서 이번 기회에 내 졸업프로젝트들을 리팩토링 해보고자 한다.
그 첫번째가 미주정복이다.
https://github.com/Yoonjin-Lee/us-dividend
기존 프로젝트 구조

- activity - 모든 activity가 담겨 있는 패키지
- data - data class 파일들이 담겨있는 패키지
- function - 화면 구성 이외에 사용되는 함수 파일을 담은 패키지
(정보를 엑셀 파일로 변환하여 저장하는 함수가 담겨있다.)
- screen - Compose로 만든 UI function들이 담긴 파일들을 저장하는 패키지
- server - retrofit이 서버와 통신하는데 필요한 ApiService, NetworkModule 파일이 담겨있는 패키지
- ui.theme - 테마와 관련된 파일들이 담겨있는 패키지
바뀔 구조

- base - baseActivity 등 공통적으로 쓰일 클래스를 담을 패키지
- data - 사용될 data type이나 repository를 저장할 패키지
- di - di에 사용될 module들을 담을 패키지
- navigator - 화면 전환에 사용될 파일들을 담을 패키지
- ui - UI를 구성하는 compose 함수 파일들을 담을 패키지