Skip to content

Nnamodi/Flick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

507a831 · Jun 13, 2024
Jun 11, 2024
Jun 13, 2024
May 29, 2024
Jun 10, 2024
May 29, 2024
May 29, 2024
Dec 4, 2023
May 8, 2024
Dec 4, 2023
May 13, 2024
Apr 12, 2024
Dec 16, 2023
Dec 4, 2023
Dec 4, 2023
Apr 15, 2024

Repository files navigation

Flick

Watch trailers and browse info of millions of movies and series.

Screenshots

:::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::
Launch screen Home screen Details screen Category screen Coming Soon screen

Features

  • Create an account in app or sign-in, for a personalized experience
  • Add movies and series to your watchlist
  • Favorite your best movies and series
  • Rate released movies and series as you like it

About

  • The app uses The Movie Database (TMDB) API to fetch movie data.

  • This project was built with Clean Architecture and MVVM pattern.

    There are five modules in this project:

    app - The main module serving as the user interface/communication layer

    data-local - Stores and fetches stored data from local source using persistence frameworks

    data-remote - Fetches data from the internet and manipulates it

    data-repository - Responsible for creating and managing data

    domain - Houses the entities and use-cases

Developed with

  • Jetpack Compose - Jetpack Compose is Android’s recommended modern toolkit for building native UI.
  • Coil-kt - Image loading for Android and Compose Multiplatform.
  • Dagger-Hilt - Reduces boilerplate of doing manual dependency injection in your project.
  • Material3 - Google's latest design system with adaptable components and tools that support the best practices of user interface design for building beautiful apps.
  • Kotlin Coroutine - For executing tasks asynchronously.
  • Flow - An asynchronous data stream that sequentially emits values and completes normally or with an exception.
  • Stateflow - An observable state-holder that emits data stream to its collectors - updating the UI incessantly.
  • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
  • Datastore - Jetpack DataStore is a data storage solution that allows you store key-value pairs asynchronously.
  • Retrofit - A type-safe HTTP client for Android and Java.
  • Moshi - A modern JSON library for Kotlin and Java.
  • OkHttp - An efficient HTTP & HTTP/2 client for Android and Java.
  • Paging - Helps load and display pages of data from a larger dataset from local storage or over a network.
  • YouTube Player - YouTube player library for Android and Chromecast.