Skip to content

Draketheb4dass/MovieCompose

Repository files navigation

TV Show Challenge - MovieCompose

MovieCompose is an android app that uses the TMDB API to display now playing tv shows from different category.

API key 🔑

You'll need to provide API key to fetch data from TheMovieDataBase API.

  • Add API key to project
  • Create new file named -> tmdb.properties in our project app/ folder
  • Add the API key as shown below:
    TMDB_API_KEY=abcdexxx
  • Build the app 🚀

User Stories

The following required functionality is completed:

  • Display a splash screen as soon as the app starts.
  • Display a list of TV Shows:
    • a. Every item should contain a rating, photo, and title of the show.
    • b. The User should be able to filter TV Shows by Popular, Top Rated, On TV, or Airing Today.
    • c. Lists should be paginated.
  • Display a TV Show Details Screen:
    • d. After tapping on a list item, the user should be able to see the show's details.
    • e. The screen header view must contain the show’s poster, its rating, and summary.
    • f. The body of the screen should display a list containing all seasons of the show.

The following things to consider features are implemented:

  • You should persist all information possible on the local cache (use Room).
  • Internet connection errors should be handled.
  • You should cache images and display a placeholder while loading.
  • Meaningful unit tests must be added.
  • Code quality, architecture, and project structure will be evaluated.

The following bonus features are implemented:

  • Reach 70% of unit test coverage throughout all the project’s codebase.
  • Add tablet support.
  • Use a Collapsing Toolbar animation on the details screen
  • Use of at least one animation
  • Manage light and Dark Theme
  • Store Favorite TV Shows on the local database

Video Walkthrough

Here's a walkthrough of implemented user stories:

Video Walkthrough

Libraries and tools 🛠

VaroMovieChallenge App uses libraries and tools used to build Modern Android application, mainly part of Android Jetpack 🚀

Architecture

The app uses MVVM [Model-View-ViewModel] architecture to have a unidirectional flow of data, separation of concern, testability, and a lot more.

Read more:

License

Copyright 2023 Jephte Colin

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages