A Product for Commercial Power @Bright Ugwu 2022 Architecture Pattern: 1. The reason for Multi-Module Architecture Pattern to have a scalable code base and to Achieve Separation of Concerns: These are Seperated As Follows: OnBoarding Layer Common Layer Home Layer Network Layer Data Layer Auth Layer app Layer Libraries Used On this Project: 1. Android Jetpack Library 2. Hilt For Dependency Injection 3. Retrofit for (Network Request) 4. Coil For (Image Loading) 5. Room Database For (Offline Caching) 6. Preference DataStore for (passing Data) 7. Kotlin Coroutine For (Async Task) 8. RecyclerView For (ListItems) Architectural Pattern Used: Mvvm Architecture Pattern Test: Local Test: 1. Test ViewModel And LiveData gets the Value When It comes from the network Integration Test: 2. Database Test when Inserting Data into the Database Is Observed And Not Empty End To End Test 3. Espresso Test 4. Manual Testing