Skip to content
MariaBrodowskaPublic

About

Personal Android app for discovering movies and TV shows using the TMDb API. Built independently, outside of university coursework.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

32 Commits

Folders and files

Repository files navigation

Logo Watchly

Watchly is an Android app designed to help users discover, organize, and store a personalized list of movies and TV shows. The app integrates with the TMDb API to fetch up-to-date movie data, while storing user preferences (watched, to-watch lists) in Firebase Firestore. Additionally, the app provides user authentication through both Google and email, an intuitive swipe interface and advanced search filters for better discovery experience.


🌟 Features

🔐 Authentication

  • Email & Password Authentication: Users can easily create an account or log in using their email and password.
  • Google Login Integration: Users can sign in with their Google account for faster authentication.

🎞️ Discover

The Discover Screen displays a dynamic set of random popular movies fetched from the TMDb API. This screen allows users to:

  • Swipe through movie cards: Each card shows basic movie information such as the title, poster, and average rating.
    • 👈 Skip: Swipe left to skip the movie.
    • 👉 Add to Watchlist: Swipe right to add the movie to your Watchlist.
    • ✅ Mark as Watched: Click button to mark the movie as Seen.
    • ⬅️ Return to Previous Movie: Click button to return to the previously shown movie.
  • The swipe interface makes it easy to navigate through a large collection of movies without feeling overwhelmed.
📸 Screenshot: Main Screen

Main Screen
➡️ Browsing Movies – Using Buttons

Discover Click Preview
👆 Browsing Movies – Swiping Cards

Discover Swipe Preview

✅ Seen

The Seen Screen displays movies that the user has already watched. This screen helps you keep track of your viewing history. Features include:

  • Detailed view: Tap on any movie to see more information, including the plot and reviews.
  • Move to Watchlist: If you change your mind and decide to watch a movie again later, you can move it back to the Watchlist.
  • Remove from List: Users can remove a movie from the Seen list if they no longer want to keep it.
📸 Screenshot: Seen Screen

Seen Screen
Browsing Watched Movies

Seen Preview

🕒 Watchlist

The Watchlist Screen is where you store movies that you plan to watch later. This screen is essentially your personal movie queue. Key features include:

  • Movie Details: Each movie in the list shows basic information, including a poster, genre and average rating.
  • Move to Seen: Once you've watched a movie, you can easily move it from the Watchlist to the Seen list.
  • Remove from List: Users can remove movies from their Watchlist if they change their mind about watching them.
📸 Screenshot: Watchlist Screen

Watchlist Screen
Browsing Movies To Watch

Watchlist Preview

🔎 Search

The Search Screen allows users to search for movies or TV shows. Features include:

  • Search by Title: Find movies or TV shows based on their title.
  • Filter by:
    • Type: Choose between All, Movie or TV Show.
    • Genre: Select specific genres (e.g., Action, Drama, Comedy).
    • Language: Filter by language to find content in the desired language.
  • Sort by:
    • Popularity: Sort movies by how popular they are.
    • Release Date: Sort by release date to find the newest movies.
    • Rating: Sort by movie rating to find the highest-rated content.
  • Add to Watchlist or Seen: You can easily add search results to either the Watchlist or Seen lists.
Advanced filtering

Search Filters Preview
Searching by title

Search Title Preview
📸 Screenshot: Details

Details

🛠️ Built With

The following technologies were used to build the app:

  • Java – the programming language.
  • Android Studio – the development environment used to build the app.
  • TMDb API – a rich source of movie and TV show data, including details like plot summaries, ratings and posters.
  • Firebase Firestore – cloud database service to store and sync user data, such as the Watchlist and Seen lists.
  • Firebase Authentication – provides authentication mechanisms for logging in with either email or Google.
  • Glide – image loading library for efficiently loading and displaying movie posters.
  • Retrofit – library used to make network requests to the TMDb API.
  • Swipe Cards Library – "com.lorentzos.swipecards:library" is used for implementing the swipeable card UI.

About

Personal Android app for discovering movies and TV shows using the TMDb API. Built independently, outside of university coursework.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages