Skip to content

MariaBrodowska/watchly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages