Git Product home page Git Product logo

kaustubhpatange / moviesy Goto Github PK

View Code? Open in Web Editor NEW
239.0 11.0 34.0 123.47 MB

A beautiful client for YTS website which also provides built-in torrent & subtitles downloader with Chromecast support.

Home Page: https://kaustubhpatange.github.io/Moviesy

License: Apache License 2.0

Kotlin 52.88% HTML 2.23% CSS 5.95% JavaScript 5.07% SCSS 3.32% Java 29.41% AIDL 1.10% Batchfile 0.04%
android kotlin torrent torrent-client movies yts-api cast tmdb-api kotlin-dsl mvvm-architecture

moviesy's Introduction

Moviesy

build issues

A beautiful client for YTS website which also provides built-in torrent, subtitles downloader ❤️

Disclaimer: The app let's you download and stream HD movies on the go, if this is something you don't approve then you should stop using it. This is indeed a hobby project :)

Moviesy App

Features

  • Clean & beautiful UI.
  • Built-in movie & subtitle downloader
  • Supports torrent streaming.
  • Watch movie using in-built player.
  • Cast to chromecast devices.
  • VPN to access torrents safely.
  • Lot more...

Discussions

Discussions is a place where you can ask anything like question, feature discussion, pre-bug reports or any topic of your choice as long as it is related to the project.

Compilation Guide

Since this project involves a private payment system some of the source files has been ignored. Read this guide in order to compile the project.

Project Libraries

  • After - A library that helps you to dispatch events "after" some time one of which is displaying prompts.
  • ImageLoaderView - An ImageView with cool loading effects eg: shimmer, overlay tinting.
  • Auto Bindings - Set of annotations that aims to eliminate biolerplate code.
  • Navigator - A small navigation library to ease fragment transactions & handling backstack.

Built with

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - For asynchronous and more..
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • LiveData - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
    • Room - SQLite object mapping library.
    • Paging - Library helps you load and display small chunks of data at a time. Loading partial data on demand reduces usage of network bandwidth and system resources.
    • Saving Sates - Uses recommended solutions for saving & restoring UI state through viewModel.
    • Workmanager - An API that makes it easy to schedule deferrable, asynchronous tasks that are expected to run even if the app exits or the device restarts.
  • Dependency Injection -
    • Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
    • Hilt-ViewModel - DI for injecting ViewModel.
  • Retrofit - A type-safe HTTP client for Android and Java.
  • Material Components for Android - Modular and customizable Material Design UI components for Android.
  • Gradle Kotlin DSL - For writing Gradle build scripts using Kotlin.

Contribute

If you want to contribute to this project, you're always welcome! See Contributing Guidelines.

License

Copyright 2020 Kaustubh Patange

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

moviesy's People

Contributors

kaustubhpatange avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

moviesy's Issues

[Feature] Save interrupted downloads in persistent storage

Is your feature request related to a problem?

No

Describe the solution you'd like:

When a movie is downloading and the user stops the application, it should be saved to persistent storage which can be recovered later when "Download Queue" is opened.

Describe alternatives you've considered:

None

Why ads?

Is your feature request related to a problem?

A clear and concise description of what the problem is.

Describe the solution you'd like:

A clear and concise description of what you want to happen.

Describe alternatives you've considered:

A clear description of any alternative solutions you've considered.

`purchase` module is not included in the source code but referenced in the code

Describe the Bug:

In ModuleDependency.kt, there is const val PURCHASE = ":app:purchase"

But there is not purchase module in the source code.

This purchase module is references in various places example, AutoPurchaseWorker.kt

And therefore throws error while compiling.

Expected Behavior:

Please include the purchase module in the GitHub source code and guide further.

hey KaustubhPatange

Mr KaustubhPatange, come on man you know this is bullshit, many free software can do everything what you charging for.

just one of many stremio apk, Amnis apps which are free and Chromecast support with subtitles.

this is not the correct way of earning honest money as a developer. go to Fiverr - Freelance Services Marketplace and earn honest money.

many free apk which stream torrents on android https://github.com/AndroidTorrent
Untitled

Untitled

[Rewrite] Moviesy is getting a rewrite.

Why though & what will basically change?

The point of this rewrite is to not completely change it & build a new one from the ground up. The main issue I encountered from Moviesy is its performance degradation. Even though following the best practices I found lots of performance issues within the app, like a slow startup, delayed animation, quick process death, memory leaks (specifically those that are caused while using the libraries that are made for best practices), & many more.

Also, the clustering of logic using MVVM made the app very slow. These issues can't be solved right away, what I encountered from here is following best practices is not always good especially when it degrades the performance. The only thing I can do from here is to rewrite the logic which is more performant & that's what I was doing for the past 3 days (will on).

You can track its changes in dev branch.

[Feature] Long click subtitle to delete

Is your feature request related to a problem?

No

Describe the solution you'd like:

When long click on subtitles when it's about to play, it should show a dialog to delete the subtitles. Just like deleting suggestions!

Describe alternatives you've considered:

There are none

Errors while streaming online

Errors that I Encountered

  • Error while Online streaming a movie

Describing Bug:

When I click on player to stream movie online it starts loading the the movie for streaming but as soon as
I click on any button in the video player during the loading of that movie App gets crashed

Expected Behavior:

App not suppose to get crash even if I touch any button in the video player.

Getting an Error : Failed to connect to yts.mx

Screenshot 2021-05-22 at 11 41 03 AM

**Please complete the following information:** - App Version - Latest - Affected Device(s) - Android

Describe the Bug:

Getting an Error : Failed to connect to yts.mx

Expected Behavior:

Should connect and display movies list

[Issue] Notification pending intent fails

Describe the Bug:

During downloading when we clicked on Notification for some time it shows a different movie model.

Expected Behavior:

Right movie model should be shown, must be the problem with setContentIntent see this.

ERROR: Can't access the Fragment View's LifecycleOwner when getView() is null i.e., before onCreateView() or after onDestroyView()

Describe the Bug:

2021-04-02 16:58:20.916 20051-20051/com.kpstv.yts E/CrashOnActivity: Application crashed
    java.lang.IllegalStateException: Can't access the Fragment View's LifecycleOwner when getView() is null i.e., before onCreateView() or after onDestroyView()
        at androidx.fragment.app.Fragment.getViewLifecycleOwner(Fragment.java:361)
        at com.kpstv.common_moviesy.extensions.FragmentViewBindingDelegate.getValue(ViewBindings.kt:71)
        at com.kpstv.yts.ui.fragments.LibraryFragment.getBinding(Unknown Source:10)
        at com.kpstv.yts.ui.fragments.LibraryFragment.onReselected(LibraryFragment.kt:80)
        at com.kpstv.yts.ui.activities.AbstractBottomNavActivity$onStart$1.invoke(AbstractBottomNavActivity.kt:89)
        at com.kpstv.yts.ui.activities.AbstractBottomNavActivity$onStart$1.onNavigationItemSelected(AbstractBottomNavActivity.kt:22)
        at com.google.android.material.bottomnavigation.BottomNavigationView$1.onMenuItemSelected(BottomNavigationView.java:243)

Expected Behavior:

App to not crash.

[Bug] Wrong subtitle listing

Describe the Bug:

In the library fragment when the user clicks on a movie to play, the subtitle listing is wrong for eg: for the movie "Interstellar" I'm getting "The Outpost" subtitle along with its own.

Todo

What is needed to do? Subtitle filtering is not implemented properly.

Expected Behavior:

We know what should be expected behaviour

Why premium for 1080p?

This is dumb for a piracy app just have a link to a donation site now I wanna make a premium version of this app haha

Crash

Screenshot_20211111-144227_Moviesy
It's crashing all the time on S20 with Android 11.

[Feature Request] Add Director info

Is your feature request related to a problem?

A clear and concise description of what the problem is.

Describe the solution you'd like:

A clear and concise description of what you want to happen.

Describe alternatives you've considered:

A clear description of any alternative solutions you've considered.

[Issue] Showing suggestions when not needed

Describe the Bug:

  1. Search something and allow suggestions to suggest some common search queries.
  2. Click on any search suggestion and let the app load the results.
  3. Now tap on any result, and interact with the movie screen.
  4. Press back & search suggestion will open again.

(It may not occur the first time but it has unexpected behavior.

Expected Behavior:

This should not happen

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.