Skip to content

Repository files navigation

🎬 ShowTime

ShowTime is an Android application that serves as a frontend for TMDB (The Movie Database). It allows users to explore movies, TV shows, and trending content with a smooth and modern user experience.

🚀 Features

  • 🔍 Browse trending, popular, and top-rated movies & TV shows
  • 🎥 View detailed information (overview, ratings, release date, etc.)
  • 🔎 Search for movies and TV shows
  • ⭐ Clean and intuitive UI
  • ⚡ Fast and responsive performance

🛠️ Tech Stack

  • Language: Kotlin
  • UI: Jetpack Compose
  • Architecture: MVVM

📱 Screenshots

Onboarding TMDB Login Guest Login
1 1 1
Prefernce Selection Home Movie/Show
1 1 1
Search Account Setting
1 1 1

🔧 Requirements

  • JDK 21
  • Android Studio (latest stable recommended)

⚙️ Installation

  1. Clone the repository:

    git clone https://github.com/manishjajoriya/ShowTime.git
  2. Open the project in Android Studio

  3. Add your TMDB API key (see below)

  4. [Optional] Setup Release Config

    sdk.dir=your_sdk_dir
    TMDB_API_KEY=your_api_key
    # Store should be inside app directory
    RELEASE_STORE_FILE=your_store_file_location
    RELEASE_STORE_PASSWORD=your_store_password
    RELEASE_KEY_ALIAS=your_key_alias
    RELEASE_KEY_PASSWORD=your_key_alias_password
  5. Run the app 🚀

🔑 API Setup

  1. Go to TMDB and create an account
  2. Generate your API key
  3. Add it to your project local.properties:
TMDB_API_KEY=your_api_key_here

⚠️ Never commit your API key to version control.

📂 Project Structure

com.manishjajoriya.showtime
│── data          # API, DTOs, repository implementations
│── di            # Dependency Injection (Hilt modules)
│── domain        # Business logic & models
│── navgraph      # Navigation routes & setup
│── ui            # Compose screens & components
│── util          # Extensions & helper functions
│── viewmodel     # UI state management

🧠 Design Approach

  • Follows clean architecture principles
  • Separation of concerns across layers
  • Reactive UI using Compose + state-driven ViewModels
  • Scalable and maintainable codebase

🤝 Contributing

Contributions are welcome!
Feel free to fork the repo and submit a pull request.

🙌 Acknowledgements

  • TMDB API - For movie and show data
  • Android Jetpack libraries - For Ui and other core android part
  • Retrofit - For API
  • Coil - For Image Loading
  • ObjectBox - For Local Database
  • MMKV - For Managing User Preference

About

ShowTime is an Android application that serves as a frontend for TMDB.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages