Convert Figma logo to code with AI

michaldrabik logoshowly

Showly is a modern and slick Movies and TV Shows manager.

1,213
73
1,213
102

Top Related Projects

19,446

Kodi is an award-winning free and open source home theater/media center software and entertainment hub for digital media. With its beautiful interface and powerful skinning engine, it's available for Android, BSD, Linux, macOS, iOS, tvOS and Windows.

41,804

The Free Software Media System - Server Backend & API

12,239

Smart PVR for newsgroup and bittorrent users.

MIT Deep Learning Book in PDF format (complete and parts) by Ian Goodfellow, Yoshua Bengio and Aaron Courville

Quick Overview

Showly is an Android app for tracking TV shows and movies. It provides a user-friendly interface for managing watchlists, discovering new content, and staying up-to-date with release schedules. The app is built using modern Android development practices and libraries.

Pros

  • Clean and intuitive user interface
  • Utilizes modern Android architecture components and Kotlin
  • Offline support for viewing tracked shows and movies
  • Integration with Trakt.tv for syncing watchlists across devices

Cons

  • Limited to Android platform only
  • Requires third-party API keys for full functionality
  • Some features may require a premium subscription
  • Occasional sync issues reported by users

Code Examples

// Example of using Koin for dependency injection
val appModule = module {
    single { NetworkModule.provideOkHttpClient() }
    single { NetworkModule.provideTraktApi(get()) }
    single { NetworkModule.provideTmdbApi(get()) }
}
// Example of using Coroutines for asynchronous operations
viewModelScope.launch {
    try {
        val shows = withContext(Dispatchers.IO) {
            showsRepository.getPopularShows()
        }
        _popularShows.value = shows
    } catch (e: Exception) {
        _error.value = e.message
    }
}
// Example of using Room database for local storage
@Dao
interface ShowsDao {
    @Query("SELECT * FROM shows")
    fun getAllShows(): Flow<List<Show>>

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    suspend fun insertShow(show: Show)
}

Getting Started

To get started with Showly development:

  1. Clone the repository:

    git clone https://github.com/michaldrabik/showly.git
    
  2. Open the project in Android Studio.

  3. Obtain API keys for Trakt.tv and TMDB, and add them to your local.properties file:

    trakt.client.id=YOUR_TRAKT_CLIENT_ID
    trakt.client.secret=YOUR_TRAKT_CLIENT_SECRET
    tmdb.api.key=YOUR_TMDB_API_KEY
    
  4. Build and run the app on an emulator or physical device.

Competitor Comparisons

19,446

Kodi is an award-winning free and open source home theater/media center software and entertainment hub for digital media. With its beautiful interface and powerful skinning engine, it's available for Android, BSD, Linux, macOS, iOS, tvOS and Windows.

Pros of XBMC

  • Comprehensive media center solution with support for various content types
  • Cross-platform compatibility (Windows, Linux, macOS, Android)
  • Extensive plugin ecosystem and customization options

Cons of XBMC

  • Steeper learning curve and more complex setup process
  • Heavier resource usage, may not be suitable for low-end devices
  • Larger codebase, potentially more challenging for new contributors

Code Comparison

XBMC (C++):

bool CGUIWindowHome::OnMessage(CGUIMessage& message)
{
  switch (message.GetMessage())
  {
    case GUI_MSG_WINDOW_DEINIT:
      {
        ClearShortcuts();

Showly (Kotlin):

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
  super.onViewCreated(view, savedInstanceState)
  setupView()
  setupStatusBar()
  setupUserProfile()

Summary

XBMC is a full-featured media center with broad platform support and extensive customization options. However, it has a steeper learning curve and higher resource requirements. Showly, on the other hand, is a more focused Android app for tracking TV shows, with a simpler codebase and potentially easier onboarding for new contributors. The code comparison highlights the different languages and architectures used in these projects.

41,804

The Free Software Media System - Server Backend & API

Pros of Jellyfin

  • Full-featured media server with support for various content types (movies, TV shows, music, etc.)
  • Self-hosted solution offering greater control over data and privacy
  • Extensive plugin ecosystem for customization and extended functionality

Cons of Jellyfin

  • More complex setup and maintenance compared to Showly's mobile-focused approach
  • Higher resource requirements for hosting and running the server
  • Steeper learning curve for non-technical users

Code Comparison

Showly (Kotlin):

@Composable
fun ShowItem(show: Show, onClick: () -> Unit) {
    Card(
        modifier = Modifier
            .fillMaxWidth()
            .clickable(onClick = onClick)
    ) {
        // Card content
    }
}

Jellyfin (C#):

public class ItemsController : BaseJellyfinApiController
{
    [HttpGet("Items")]
    public ActionResult<QueryResult<BaseItemDto>> GetItems([FromQuery] ItemQuery query)
    {
        // Implementation for retrieving items
    }
}

While both projects are media-related, they serve different purposes. Showly is a mobile app for tracking TV shows, whereas Jellyfin is a comprehensive media server solution. The code snippets reflect these differences, with Showly focusing on UI components and Jellyfin handling server-side logic for media management.

12,239

Smart PVR for newsgroup and bittorrent users.

Pros of Sonarr

  • More comprehensive TV show management with automated downloading and organization
  • Supports multiple download clients and indexers
  • Extensive API for integration with other services

Cons of Sonarr

  • More complex setup and configuration
  • Requires a dedicated server or always-on device to run
  • Larger resource footprint due to its extensive features

Code Comparison

Showly (Kotlin):

@Composable
fun ShowDetailsScreen(
    viewModel: ShowDetailsViewModel = hiltViewModel(),
    onShowClick: (TraktShow) -> Unit
) {
    val uiState by viewModel.uiState.collectAsStateWithLifecycle()
    ShowDetailsContent(
        uiState = uiState,
        onShowClick = onShowClick,
        onActionClick = viewModel::onUserAction
    )
}

Sonarr (C#):

public async Task<List<Episode>> GetEpisodesBySeriesId(int seriesId)
{
    return await _episodeRepository.GetEpisodesBySeriesId(seriesId);
}

While Showly focuses on a mobile-first, user-friendly interface for tracking TV shows, Sonarr provides a more comprehensive solution for managing and automating TV show downloads. Showly's code emphasizes UI components and state management, while Sonarr's backend-focused code deals with data retrieval and management. Both projects serve different use cases within the TV show management ecosystem.

MIT Deep Learning Book in PDF format (complete and parts) by Ian Goodfellow, Yoshua Bengio and Aaron Courville

Pros of mit-deep-learning-book-pdf

  • Provides access to a comprehensive deep learning resource
  • Allows offline reading of the MIT Deep Learning book
  • Suitable for both beginners and advanced learners in machine learning

Cons of mit-deep-learning-book-pdf

  • Limited interactivity compared to Showly's dynamic TV show tracking
  • Lacks regular updates or community contributions
  • No mobile app or cross-platform functionality

Code Comparison

mit-deep-learning-book-pdf doesn't contain code, as it's a PDF repository. Showly, on the other hand, is an Android app with Kotlin code. Here's a sample from Showly:

class ShowDetailsViewModel @Inject constructor(
  private val loadShowDetails: LoadShowDetails,
  private val loadShowImages: LoadShowImages,
  private val loadRecentEpisodes: LoadRecentEpisodes
) : ViewModel() {
  // ... implementation details
}

Summary

mit-deep-learning-book-pdf offers a valuable educational resource for deep learning enthusiasts, while Showly provides a practical tool for TV show tracking. The former focuses on content delivery, while the latter emphasizes user interaction and real-time data management. The choice between them depends on whether you're looking for learning materials or a practical application for entertainment tracking.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Version Build Crowdin Crowdin

Twitter

Showly available on iOS 🍎

I am happy to announce that starting Jan 2025, Showly is available on iOS!

Check AppStore link below to jump straight into action.

Showly

Showly is a modern TV Shows and Movies tracking app.

The OSS version for Android available in this repo is completely free of all Google services.

Get it on Google Play    Get it on App Store

Screenshots

Screenshot 1    Screenshot 2    Screenshot 3    Screenshot 4

Project Setup

  1. Clone repository and open project in the latest version of Android Studio.
  2. Create a keystore.properties file and put it in the /app folder.
  3. Add the following properties into the keystore.properties file (values are not important at this moment):
keyAlias=github
keyPassword=github
storePassword=github
  1. Add your Trakt.tv, TMDB, OMDB API keys as following properties into your local.properties file located in the root directory of the project:
traktClientId="your trakt client id"
traktClientSecret="your trakt client secret"
tmdbApiKey="your tmdb api key (v4)"
omdbApiKey="your omdb api key"
  1. Rebuild and start the app.

Issues & Contributions

Feel free to post problems with the app as Github Issues.

Features ideas should be posted as new GIthub Discussion.

Pull requests are welcome. Remember about leaving a comment in the relevant issue if you are working on something.

Dev Notes

The codebase has been around for a few years now and it grew a bit rusty. A few things surely could be addressed:

  • Overall architecture should be simplified and refactored into a more strict feature-based one
  • The single responsibility principle is broken and should be refactored in a few places like some of the Use Cases
  • Retrofit could be replaced in favor of Ktor Client
  • Jetpack Compose migration (although there is no real benefit of it currently from end-user point of view)
  • Add more unit tests to complete the suite and increase coverage

Translations

Want to help translating Showly into your native language? Spotted a mistake?
Join the CrowdIn project which is used to manage translations:

Android: https://crowdin.com/project/showly-android-app
iOS: https://crowdin.com/project/showly-ios-app

Translations status for 20 Jan 2025:

iOS:

image

Android:

image

FAQ

1. Can I watch/stream/download shows and movies with the Showly app?

No, that is not possible. Showly is a progress tracking type of app - not a streaming service.

2. I'm a user from India. I can't see any images and also encounter errors!

There is a known issue with TMDB API being blocked by India gov. For more details and a possible solution please see the thread here: https://www.themoviedb.org/talk/65d226e5c433ea0187b5b958#65d2dd5128d7fe017c34e9b5

3. The Show/Episode/Movie I'm looking for seems to be missing. What can I do?

Showly uses Trakt.tv as its main data source. If something is missing please use "Import Show" / "Import Movie" option located at the bottom of Trakt.tv website. It's also possible to contact Trakt.tv support about any related issue.

Contact

Twitter: https://twitter.com/AppShowly

Landing Page: www.showlyapp.com

Email: showlyapp@gmail.com