Top Related Projects
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.
The Free Software Media System - Server Backend & API
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:
-
Clone the repository:
git clone https://github.com/michaldrabik/showly.git
-
Open the project in Android Studio.
-
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
-
Build and run the app on an emulator or physical device.
Competitor Comparisons
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.
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.
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
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
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.
Screenshots
Project Setup
- Clone repository and open project in the latest version of Android Studio.
- Create a
keystore.properties
file and put it in the/app
folder. - Add the following properties into the
keystore.properties
file (values are not important at this moment):
keyAlias=github
keyPassword=github
storePassword=github
- 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"
- 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:
Android:
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
Top Related Projects
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.
The Free Software Media System - Server Backend & API
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
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot