Skip to content

Latest commit

 

History

History
68 lines (48 loc) · 3.47 KB

File metadata and controls

68 lines (48 loc) · 3.47 KB

Upnext: TV Series Manager

Google Developers Dev Library Kotlin Compose License

Upnext is a modern Android application for tracking TV series, built with industry-standard best practices and cutting-edge libraries. It serves as a reference implementation for a scalable, production-ready Android app in 2026.

🚀 Key Features

  • 100% Jetpack Compose: Fully modern UI built with Material 3.
  • Adaptive Layouts: Optimized for phones, tablets, and foldables using Window Size Classes.
  • Offline First: Robust offline support with Room and WorkManager sync.
  • Trakt Integration: Seamlessly syncs with Trakt.tv for tracking episodes and history.
  • Modern Architecture: Clean Architecture, MVVM, and Dependency Injection with Hilt.

🛠 Tech Stack

This project leverages the latest Android development tools and libraries:

🏗 Architecture

The app follows Clean Architecture principles with a logical separation of concerns:

  1. UI Layer: Jetpack Compose screens and ViewModels.
  2. Domain Layer: Use Cases / Interactors (Logical business rules).
  3. Data Layer: Repositories, Data Sources (Local/Remote), and API definitions.

Although currently structured as a monolithic app module for simplicity, the logical boundaries are strictly enforced to facilitate future modularization.

💻 Setup & Build

Prerequisites

  • Android Studio: Ladybug or newer.
  • JDK: Java 17 (Ensure Gradle is using JDK 17 in simple Settings).

Trakt API Configuration

To run the app, you need a Trakt.tv API key.

  1. Register an application at Trakt.tv.
  2. Set the Redirect URI to: theupnextapp://callback
  3. Create a local.properties file in the project root (do NOT commit this file).
  4. Add your keys:
TraktClientID="YOUR_CLIENT_ID"
TraktClientSecret="YOUR_CLIENT_SECRET"
TraktRedirectURI="theupnextapp://callback"

🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines on how to propose bug fixes and new features.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.