**개발기간 : 2022.07.07 ~**
Ingredient V2 (Clean Architecture)
보관 재료의 유통기한을 알려주고, 음식 검색을 도와줍니다.
- min SDK : 26
- target SDK : 31
- Kotlin : 1.7.21
- Android Studio : Electric Eel 22.1.1
Purpose | Library |
---|---|
Async Task | Coroutine |
Local Database | Room |
Server Database | Firebase FireStore, Firebase Auth, Firebase Storage |
Server | Firebase Functions, Node.js |
Presentation | Material Design2(Chip), Jetpack Navigation, ViewPager2, Glide, |
- 유통기한 일수 차감
Firebase의 FireStore는 쿼리를 위한 처리 과정과 많은 데이터를 불러들일 때의 속도가 저하된다는 단점이 있습니다. 속도 향상을 위해 데이터의 중복은 불가피한 상황입니다. 그래서 Spring을 직접 구현하여 NoSQL을 벗어나도록 구현할 예정입니다. 유통기한 일수 차감을 위해 구현한 Firebase의 Functions도 서버로 구현할 예정입니다.
Spring으로의 이전 작업과 IOS와 같은 플랫폼 확장을 위해 기능별로 모듈을 분리해서 재사용할 수 있게 구현할 것입니다. 관심사를 분리하고 모듈화를 적용하기 위해 Clean Architecture와 MVVM 패턴을 참고했습니다.
관심사를 분리하고 모듈화를 진행하는 이유 중 하나는 테스트 용이성 때문입니다. 그래서 MVVM을 구현하기 위해 Data Binding이 아닌 MVVM + Compose를 + AAC viewModel + LiveData or StateFlow로 구현할 예정입니다. 현재는 애니메이션이 적용되지 않아 어색한 동작을 보여주고 있습니다. Drawer나 SearchBar 클릭 효과, Splash 등을 구현하여 자연스러운 동작이 되도록 구현할 것입니다.
아직은 테스트 이미지, 테스트 데이터로 구 동하고 있습니다. 그래서 눈에 보이는 작은 에러들만 처리해왔습니다. 배포 과정에서, 유지보수 과정에서 배울수 있는 것들이 아직 많이 남아있다고 생각해서 배포를 통해 학습을 해봐야겠다고 생각했습니다.