Skip to content

Latest commit

 

History

History
77 lines (55 loc) · 3.08 KB

TechnicalOverview.md

File metadata and controls

77 lines (55 loc) · 3.08 KB

Overview

The codebase has been developed maintaining standard guidelines; architecture and design patterns. Considering future scaling of the application, the codebase is kept modular.

Feel free to review the code.
Feedbacks are always welcome!

Project Structure

Enviroment

IDE Android Studio Chipmunk
SDK Android SDK
Language Kotlin, XML
Architecture Clean Architecture + MVVM

Compatibility

SDK Version
Minimum Android 21
Target Android 32

Libraries

Name Description
1. Retrofit REST Client. It makes it relatively easy to retrieve and upload JSON via a REST based webservice
2. OkHttp Set timeouts and logging intercepters
3. Gson Parse JSON to Java Objects and vice versa.
4. Glide Loads remote images effectively and provides caching mechanism for the same.
5. Hilt Reduces the boilerplate code of doing manual dependency injection.
6. Crashlytics Track the crashes app-wide
7. Firebase Analytics Track the analytics of the app usage and behaviour
8. Firebase Performance Track app performance
9. Youtube Data v3 To play youtube videos

UI Components

Component Purpose
1. RecyclerView To display the data list
2. SwipeRefreshLayout To refresh and to load more data
3. TabLayout To swipe across various movie category
4. CardView Container for the movie item
5. ViewPager To display list of images
6. CollapsingToolbarLayout To contain viewpager and parallex effect

Credits & References

Retrofit
Glide
Crashlytics
Securing API_KEY
Semantic App Versioning

and whatever seemed helpful...