{"id":17551498,"url":"https://github.com/amirisback/video-player","last_synced_at":"2025-03-29T07:42:38.440Z","repository":{"id":107338921,"uuid":"554892593","full_name":"amirisback/video-player","owner":"amirisback","description":"Video Player App Using ExoPlayer","archived":false,"fork":false,"pushed_at":"2022-10-20T15:54:46.000Z","size":4892,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-03T21:35:12.253Z","etag":null,"topics":["exoplayer","video-player"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amirisback.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://saweria.co/amirisback"}},"created_at":"2022-10-20T15:22:10.000Z","updated_at":"2024-11-06T02:48:15.000Z","dependencies_parsed_at":"2023-06-12T08:00:31.687Z","dependency_job_id":null,"html_url":"https://github.com/amirisback/video-player","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"frogobox/kick-start-android","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirisback%2Fvideo-player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirisback%2Fvideo-player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirisback%2Fvideo-player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirisback%2Fvideo-player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amirisback","download_url":"https://codeload.github.com/amirisback/video-player/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246156011,"owners_count":20732357,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exoplayer","video-player"],"created_at":"2024-10-21T04:46:17.931Z","updated_at":"2025-03-29T07:42:38.404Z","avatar_url":"https://github.com/amirisback.png","language":"Kotlin","funding_links":["https://saweria.co/amirisback"],"categories":[],"sub_categories":[],"readme":"![ScreenShoot Apps](docs/image/ss_banner.png?raw=true)\n\n## About This Project\n[![Android-CI](https://github.com/frogobox/frogo-kick-start-android/actions/workflows/android-ci.yml/badge.svg)](https://github.com/frogobox/frogo-kick-start-android/actions/workflows/android-ci.yml)\n- Privacy Policy [Click Here](https://github.com/frogobox/frogo-kick-start-android/blob/master/PRIVACY-POLICY.md)\n- License [Click Here](https://github.com/frogobox/frogo-kick-start-android/blob/master/LICENSE)\n- Template Reuse Code For Monetizing Apps\n- Template Code Monetize FrogoBox For Android Kick Start Project\n\n## Version Release\nThis Is Latest Release (Still Being Developed)\n\n    $version_release = 1.0.0\n\n\n## Screenshoot Apps\n| UI 1 | UI 2 | UI 3 |\n|:----:|:----:|:----:|\n|\u003cimg width=\"200px\" height=\"360px\" src=\"docs/image/ss_1.png\"\u003e | \u003cimg width=\"200px\" height=\"360px\" src=\"docs/image/ss_2.png\"\u003e | \u003cimg width=\"200px\" height=\"360px\" src=\"docs/image/ss_3.png\"\u003e |\n\n## Architecture\n-   Pattern  [Model-View-ViewModel](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel)  (MVVM) facilitating a [separation](https://en.wikipedia.org/wiki/Separation_of_concerns) of development of the graphical user interface.\n-   [S.O.L.I.D](https://en.wikipedia.org/wiki/SOLID)  design principles intended to make software designs more understandable, flexible and maintainable.\n\n## Tech-stack\nMin API level is set to 21, so the presented approach is suitable for over 94% of devices running Android. This project takes advantage of many popular libraries and tools of the Android ecosystem. Most of the libraries are in the stable version unless there is a good reason to use non-stable dependency.\n-   [Jetpack](https://developer.android.com/jetpack):\n    -   [Android KTX](https://developer.android.com/kotlin/ktx.html)  - provide concise, idiomatic Kotlin to Jetpack and Android platform APIs.\n    -   [AndroidX](https://developer.android.com/jetpack/androidx)  - major improvement to the original Android  [Support Library](https://developer.android.com/topic/libraries/support-library/index), which is no longer maintained.\n    -   [View Binding](https://developer.android.com/topic/libraries/view-binding)  - allows you to more easily write code that interacts with views/\n    -   [Lifecycle](https://developer.android.com/topic/libraries/architecture/lifecycle)  - perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.\n    -   [LiveData](https://developer.android.com/topic/libraries/architecture/livedata)  - lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services.\n    -   [Navigation](https://developer.android.com/guide/navigation/)  - helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer.\n    -   [Room](https://developer.android.com/topic/libraries/architecture/room)  - persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.\n    -   [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel)  - designed to store and manage UI-related data in a lifecycle conscious way. The ViewModel class allows data to survive configuration changes such as screen rotations.\n-   [Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html)  - managing background threads with simplified code and reducing needs for callbacks.\n-   [Coroutines Flow](https://kotlinlang.org/docs/reference/coroutines-overview.html)  - cold asynchronous data stream that sequentially emits values and completes normally or with an exception\n-   [Dagger2](https://dagger.dev/)  - dependency injector for replacement all Factory classes.\n-   [Retrofit](https://square.github.io/retrofit/)  - type-safe HTTP client.\n-   [Glide](https://github.com/bumptech/glide)  - image loading and caching library\n\n## Colaborator\nVery open to anyone, I'll write your name under this, please contribute by sending an email to me\n\n- Mail To faisalamircs@gmail.com\n- Subject : Github _ [Github-Username-Account] _ [Language] _ [Repository-Name]\n- Example : Github_amirisback_kotlin_admob-helper-implementation\n\nName Of Contribute\n- Muhammad Faisal Amir\n- Waiting List\n- Waiting List\n\nWaiting for your contribute\n\n## Attention !!!\nPlease enjoy and don't forget fork and give a star\n- Don't Forget Follow My Github Account\n\n![ScreenShoot Apps](docs/image/mad_score.png?raw=true)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famirisback%2Fvideo-player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famirisback%2Fvideo-player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famirisback%2Fvideo-player/lists"}