Movie World (Jetpack Compose)
Movie World app using The Movie DB built with jetpack Compose and MVVM architecture.
Main Features
- Movie List
- Filter with genre
- Pagination with paging3
- Movie detail
- Artist info and artist detail
- Bottom navigation
- Search filter for movie
- Genre movie in the navigation drawer
- Network connection state with SnackBar
Architecture ๐๏ธ
- MVVM Architecture (Model - ComposableView - ViewModel)
- Repository pattern
- Hilt - dependency injection
Fig. MVVM (Model - ComposableView - ViewModel) design pattern.
Built With ๐
- Kotlin - First class and official programming language for Android development.
- Jetpack Compose - Jetpack Compose is Androidโs modern toolkit for building native UI.
- Coroutines - For asynchronous and more..
- Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- Dependency Injection
- Hilt - Easier way to incorporate Dagger DI into Android apps.
- Retrofit - A type-safe HTTP client for Android and Java.
- Material Components for Android - Modular and customizable Material Design UI components for Android.
- Timber - A logger with a small, extensible API which provides utility on top of Android's normal Log class.
๐จ Developed By
Mehedi Hassan Piash
License
Copyright 2023 piashcse (Mehedi Hassan Piash)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.