Episodie is a TV show time tracker app with unusual design written in kotlin and clean architecture approach. Get to know how much time you spent watching tv shows.

Overview

Episodie Build Status Platform Android Arsenal

Episodie is a TV show time tracker app with unusual design. Get to know how much time you spent watching tv shows. Track easily overall progress of your favorite shows and discover new ones.

Banner Get it on Google Play Get it on F-Droid

Features

  • Discover new premieres, most popular shows and TOP 100 series based on IMDB list.
  • Search for a TV show series without ads.
  • Calculate your total time spent watching TV shows.
  • Get notifications about new episodes.
  • Get notification to remind you that a new tv show premiere is today.
  • Mark off a season progress easily.
  • Collect your favorite tv shows in your library's feature.
  • Big amount of tv shows and time statistics continuously updated. All data comes from tvmaze.com database building by huge community.

Screenshots

GIFYOURLIBRARY GIFMOSTPOPULAR GIFTOPLIST Most popular Details Your Library Episodes list

The motivation behind the app

  • Learn kotlin
  • Try approach with clean architecture
  • Test driven development
  • Dependecy injection (Dagger2)
  • Learn Spring (See: https://github.com/hypeapps/episodie-api)
  • Try Architecture Components (ViewModel, Room, Lifecycle)
  • Caching
  • Unusal design

License

                    GNU GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.
Comments
  • Not working version 1.0.2

    Not working version 1.0.2

    I installed it today, and it just shows a toast message saying "something went wrong", and the disconnected icon. I have internet access and can browse the tvmaze.com site

    opened by anjannath 9
  • broken build?

    broken build?

    Hi, I really like the project structure but the master branch appears to be broken. Also, add-to-watched-feature branch is broken as well though it looks to be more newer than master.

    Am I missing something here?

    opened by The0ldM0nk 3
  • Unused repositories?

    Unused repositories?

    Hello,

    I am packaging you app for F-Droid. We had to patch it to remove some untrusted Maven repositories: https://gitlab.com/fdroid/fdroiddata/blob/cdeed9c43adabcd48674e31d5d5f20ae297ef49d/metadata/pl.hypeapp.episodie/repositories.patch The app seems to build correctly without them.

    What are they used for? If they are not used, would it be possible to remove them?

    opened by Rudloff 2
  • [1.0.1] - Fatal Exception when marking seasons as watched/unwatched

    [1.0.1] - Fatal Exception when marking seasons as watched/unwatched

    Expected behaviour

    I should be able to mark shows as watched and unwatched without interruption. When I mark a show as watched it should add to my watched hours, when I mark a show as unwatched it should be removed from my watched shows.

    Actual behaviour

    Occasionally when marking a shows as watched or unwatched the application will crash.

    How to reproduce

    1. From either a fresh install or existing install select enter the application and select a TV show. For the purpose of clarity, select "Supernatural"

    2. Select the episodes tab.
    3. Quickly switch between marking the two different seasons as watched. For example, click season 1 then 2 then 1 again repeatedly. 

    4. Repeat step until a crash occurs.

    Please note that the above steps were not the first way I replicated this issue, this issue first occurred during normal application use, but the above is the only way I can seem to replicate over and over again. Please note I checked the error on the standard behaviour crash and the crash mentioned in my steps and it’s the same exception. I realise that the steps provided may be a low priority crash so I would like to make you’re aware it does occur in normal use. The behaviour I carried out first was simply adding shows I've watched to my watched list and randomly it would crash, this will cause it to crash eventually although nothing I can state with replicable steps. I believe fixing the error mentioned below caused by the steps mention within the steps to reproduce will resolve the issue in standard behaviour too.



    05-27 01:50:25.089 18389-18389/pl.hypeapp.episodie E/AndroidRuntime: FATAL EXCEPTION: main
        Process: pl.hypeapp.episodie, PID: 18389
        java.lang.NullPointerException: Attempt to invoke virtual method 'float android.text.Layout.getLineLeft(int)' on a null object reference
            at com.hanks.htextview.evaporate.EvaporateText.animateText(EvaporateText.java:52)
            at com.hanks.htextview.evaporate.EvaporateTextView.animateText(EvaporateTextView.java:46)
            at pl.hypeapp.episodie.ui.widget.RuntimeAlerterView$startSlideInDownAnimation$2.call(RuntimeAlerterView.kt:56)
            at com.daimajia.androidanimations.library.YoYo$AnimationComposer$2.onAnimationEnd(YoYo.java:181)
            at android.animation.Animator$AnimatorListener.onAnimationEnd(Animator.java:552)
            at android.animation.AnimatorSet.endAnimation(AnimatorSet.java:1294)
            at android.animation.AnimatorSet.doAnimationFrame(AnimatorSet.java:1079)
            at android.animation.AnimationHandler.doAnimationFrame(AnimationHandler.java:146)
            at android.animation.AnimationHandler.-wrap2(Unknown Source:0)
            at android.animation.AnimationHandler$1.doFrame(AnimationHandler.java:54)
            at android.view.Choreographer$CallbackRecord.run(Choreographer.java:909)
            at android.view.Choreographer.doCallbacks(Choreographer.java:723)
            at android.view.Choreographer.doFrame(Choreographer.java:655)
            at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
            at android.os.Handler.handleCallback(Handler.java:790)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:164)
            at android.app.ActivityThread.main(ActivityThread.java:6494)
            at java.lang.reflect.Method.invoke(Native Method)
            at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
    

    Environment

    
Application Version: 1.0.1



    Tested on multiple different Android versions both using a physical device and emulators.

    | Device | Android Version | Emulator/Physical | Reproducible? | |-----------------------------|-----------------|-------------------|---------------| | Motorola 3 (3rd Generation) | 6.0.1 | Physical | Yes | | Pixel 2 | 7.1 | Emulated | Yes | | Pixel 2 | 8.0 | Emulated | Yes |



    Recording of the issue



    The following video helps to show this issue further:

    https://www.youtube.com/embed/nUQYE45Xuzw?ecver=2

    bug 
    opened by tobias-g1 1
  • logo purpose

    logo purpose

    Hello, @hypeappsI want to contribute in "episodie" so i want to designed a new logo for "episodie" and it's free.

    I hope you like it. If you like it, I will send you pull request, editable files/original source and .png format files. If there's something you want to change, I'll do it. if you want i will send you my design

    contact me on facebook for fast delivary https://www.facebook.com/abdulmalikkhan655

    opened by abdulmalikkhan655 1
  • Is this app abandoned?

    Is this app abandoned?

    Hi there! I recently find this app and i have to say, it's a very good base with a lot potential. The design of the app looks good, but there's room for improvement. I didn't find any webpage, any email, so I'll ask here. Is this app abandoned?

    opened by ghost 1
  • Error: No longer connects to the Internet

    Error: No longer connects to the Internet

    Hello I'm at the latest Android version of your app. A few days ago I installed to try your application. I could view and add series.

    Since yesterday your application, I no longer have the series suggestions, and I can no longer add series. There is an error message.

    Your application no longer finds my Internet connection. I am well connected to the Internet because the Internet browser is working properly. I'm connected in WiFi

    opened by franco27 5
  • V1.01 App fails to load when VPN is in use

    V1.01 App fails to load when VPN is in use

    This applies to all VPNs/Services. Tested with DNS66, Intra and ProtonVPN application(s), which use Android VPNService to perform their tasks.

    Device: LG Stylo 3 [LGL84VL] SWVer: L84VL10a Android 7.0 (NRD90U)

    opened by Zazie-Lavender 0
  • Filter/sort my library

    Filter/sort my library

    My library is quite big (~100 shows), so it's difficult to find one show in particular. I think it would be better if we could filter shows by name, or completed/in-progress. Another option is to have different sorting options (alphabetical, episodes-to-go, next airing, reverse-sort, ...). Currently it's sorted by first added, but the last added is probably the show you want to update the most.

    enhancement 
    opened by roptat 0
Owner
Przemek
Android programmer.
Przemek
Don't know what to do next? Don't worry, NEG or NotEnoughGoals will give you some help by giving you some goals to achieve to make skyblock less boring.

NotEnoughGoals Don't know what to do next? Don't worry, NEG or NotEnoughGoals will give you some help by giving you some goals to achieve to make skyb

UpFault 0 Dec 26, 2021
Task Timer - An android app that helps you to keep a track of how much time you spend on each task

Task Timer - An android app that helps you to keep a track of how much time you spend on each task

Hassan Al-Shammari 1 Feb 24, 2022
Android app which fetches a sample movies list to display. Built using Kotlin and latest Android tech stack, with an approach to clean architecture.

movies-sample-app This is an Android app which fetches a sample movies list to display. Built using Kotlin and latest Android tech stack, with an appr

Nadeem Ahmed 1 Oct 21, 2021
Firefox Focus: The privacy browser - Browse like no one’s watching.

Firefox Focus for Android Browse like no one’s watching. The new Firefox Focus automatically blocks a wide range of online trackers — from the moment

Mozilla Mobile 2.1k Dec 28, 2022
This representation of Clean Architecture tries to stick to the recommendations of the philosophy as much as possible

Android Clean Architecture Google - Rebuilding our guide to app architecture Ple

Martin Cazares 8 Sep 9, 2022
Easy Note: Building a Notes app using MVVM, JetPack Compose with a clean multi-module architecture approach.

Easy Note Easy Note: Notes app using JetPack Compose and MVVM with a clean architecture approach. This app shows the usage of the new Navigation Archi

Akhilesh Patil 10 Dec 17, 2022
A complete app that demonstrate how to build an Android application using the Uncle Bob's Clean Architecture approach

?? Blog taking application utilizing Ktor REST-API and following modern practices: Kotlin, Coroutines, Flows, Channels, Room, Work Manager, Navigation Component, MVI, Clean Architecture, Modularization, Dagger Hilt, Tests...

Haythem Mejerbi 47 Dec 17, 2022
The Rick And Morty - MVVM with a clean architecture approach using some of the best practices in Android Development.

Rick-and-Morty The Rick And Morty - App consuming a Rick and Morty API to display Characters it has been built with clean architecture principles, Rep

Akhilesh Patil 61 Jan 7, 2023
Food Recipes - Android application built with Jetpack compose, MVVM and clean architecture approach.

Food Recipes Android application that consuming (https://spoonacular.com/food-api) "Recipes api". It has been built with clean architecture principles

Mahmoud Elshahat 26 Jan 29, 2023
How to build an Android application using the Uncle Bob's Clean Architecture approach

MVI-Clean-Architecture This is a sample app & basic code that demonstrate how to

Ahmed Shaban  Elhdad 13 Oct 22, 2022
A Simple Expense Tracker App 📱 built to demonstrate the use of modern android architecture component with MVVM Architecture

Expenso ?? A Simple Expense Tracker App ?? built to demonstrate the use of modern android architecture component with MVVM Architecture ?? . Made with

Michel Horacio 1 Dec 28, 2022
A mobile application that allows you to get random information every time you enter the application.

Knowledge Repository A mobile application that allows you to get random information every time you enter the application. Google Play Store : Screensh

Nisa Efendioğlu 2 Jul 10, 2022
This project shows trending github repositories using MVI (Model View Intent) using kotlin flows and multi module clean architecture

GithubTrendingMVIFlow Build Architecture: This project shows trending github repositories using MVI (Model View Intent) using kotlin flows and multi m

Zulqurnain Haider 0 Jun 2, 2022
Covid Tracker - Show Details of Corona virus cases of all affected country

Covid_Tracker Based on MVVM Architecture Show Details of Corona virus cases of a

inderjeet yadav 1 Feb 27, 2022
Android app based on clean architecture and using the github API to show open pull requests

This app is based on clean architecture and using the github API to show open pull requests. The code is made considering all design principles and guidelines.

Himanshu Garg 0 May 2, 2022
🚀 Sample Android Clean Architecture on Rorty App focused on the scalability, testability and maintainability written in Kotlin, following best practices using Jetpack.

Android Clean Architecture Android Clean Architecture in Rorty is a sample project that presents modern, approach to Android application development u

Mr.Sanchez 0 Dec 28, 2021
Bitcoin Market app shows you the current Bitcoin market price and price chart of different time intervals 💰

Bitcoin Market ?? Bitcoin Market app shows you the current Bitcoin market price and price chart of different time intervals Tech stack and whys ?? Kot

Cafer Mert Ceyhan 320 Jan 4, 2023
when you use restful api and network get disconnect you have to store your data local for make your app faster and work on ofline mode

AppArchitectureOflineMode when you use restful api and network get disconnect you have to store your data local for make your app faster and work on o

Kareem-Mansy 3 Jun 20, 2021