Skip to content

Movie & TV Show app named I-Watch with Jetpack Compose

License

Notifications You must be signed in to change notification settings

meetOzan/I-Watch

Repository files navigation

I-Watch


A movie and TV show info app for teaching how to use Jetpack Compose with Clean Architecture.


License API Profile

Screenshoots

Splash Entrance Login

Home Detail Top Rated List

Favorites Watch List Watched List

Prefer Profile Settings

What did I use?

  • Minimum SDK level 23
  • Only Kotlin based
  • Android Architecture Components
    • A single-activity architecture
    • Compose Navigation to manage composable transactions.
    • Lifecycle - unique lifecycle in Jetpack Compose
    • Saving datas that requested from network, in local database.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • UseCases - Located domain layer that sits between the UI layer and the data layer.
    • Repository - Located in data layer that contains application data and business logic.
  • Jetpack Compose - is Android’s next generation and recommended modern toolkit for building native UI with declaritive style. It makes development UI simpler and more understandable on Android.
  • Version Catalog to import dependencies to project.
  • Android Hilt for dependency injection.
  • Retrofit - for network calls.
  • DeepLink to navigate another application.
  • Language Localication to language localization.
  • Room to local database and to make an application that can run completely locally.
  • Coroutines for async. operations.
  • Firebase Firestore to user save operations.
  • OkHttp An HTTP client that efficiently make network requests.
  • Chucker is simplifies the inspection of HTTP(S) requests/responses fired by your Android App.
  • Coil Compose to load image what comes from API.
  • Material Design 3 is the latest version of Google’s open-source design system.

Architecture

This app uses MVVM (Model View View-Model) architecture structure.

❤️ Are you liked that repository?

Follow Me! for projects!

License

Designed and developed by 2023 meetOzan (Mert Ozan Kahraman)

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.