{"id":31809838,"url":"https://github.com/static-var/vlr-gg","last_synced_at":"2025-10-11T05:51:18.096Z","repository":{"id":37205994,"uuid":"395079125","full_name":"static-var/vlr-gg","owner":"static-var","description":"An android app is written in Jetpack compose, which uses REST API that parses vlr.gg and gives a list of upcoming matches, completed matches, and their match details.","archived":false,"fork":false,"pushed_at":"2025-10-01T21:25:56.000Z","size":71778,"stargazers_count":39,"open_issues_count":11,"forks_count":6,"subscribers_count":0,"default_branch":"trunk","last_synced_at":"2025-10-01T23:26:59.186Z","etag":null,"topics":["android","hilt-android","jetpack-compose","kotlin","kotlinx-serialization","ktor-client","vlrgg"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/static-var.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["static-var"]}},"created_at":"2021-08-11T18:13:21.000Z","updated_at":"2025-08-19T21:17:50.000Z","dependencies_parsed_at":"2022-07-10T15:47:42.754Z","dependency_job_id":"5c015fd0-aca1-47d5-8e11-cfc0a5fa5006","html_url":"https://github.com/static-var/vlr-gg","commit_stats":null,"previous_names":[],"tags_count":61,"template":false,"template_full_name":null,"purl":"pkg:github/static-var/vlr-gg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/static-var%2Fvlr-gg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/static-var%2Fvlr-gg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/static-var%2Fvlr-gg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/static-var%2Fvlr-gg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/static-var","download_url":"https://codeload.github.com/static-var/vlr-gg/tar.gz/refs/heads/trunk","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/static-var%2Fvlr-gg/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006357,"owners_count":26084088,"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","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["android","hilt-android","jetpack-compose","kotlin","kotlinx-serialization","ktor-client","vlrgg"],"created_at":"2025-10-11T05:50:57.432Z","updated_at":"2025-10-11T05:51:18.087Z","avatar_url":"https://github.com/static-var.png","language":"Kotlin","funding_links":["https://github.com/sponsors/static-var"],"categories":[],"sub_categories":[],"readme":"![GitHub Release](https://img.shields.io/github/v/release/static-var/vlr-gg) ![GitHub Repo stars](https://img.shields.io/github/stars/static-var/vlr-gg) [![Beta Play store release](https://github.com/static-var/vlr-gg/actions/workflows/internal_play_store_release_dispatcher.yml/badge.svg?branch=trunk)](https://github.com/static-var/vlr-gg/actions/workflows/internal_play_store_release_dispatcher.yml)\r\n\r\n# 🚧 VLR-GG (Unofficial application) 🚧\r\n\r\n\u003ca href='https://play.google.com/store/apps/details?id=dev.staticvar.vlr\u0026pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'\u003e\u003cimg alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png'/\u003e\u003c/a\u003e\r\n\r\n\r\nAn unofficial android app for vlr.gg, written in Jetpack compose, which uses REST API that parses vlr.gg (Code for the scrapper can be found [here](https://github.com/akhilnarang/vlrgg-scraper), thanks to [@akhilnarang](https://github.com/akhilnarang) for hosting and maintaining the scrapping code.)\r\n\r\nThe application is not listed on Play Store, but you will receive in app updates for every release (you can choose to install the update or ignore it)\r\n\r\n## 📸 Preview 📸\r\nThere were no designs / mock ups during the development of this app, this was developed as a side project / hobby.\r\n\r\n| Light                                                                                 | Dark                                                                                 |\r\n|---------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|\r\n| ![](https://github.com/static-var/vlr-gg/blob/trunk/art/NEWS_LIGHT_VLR.jpg)           | ![](https://github.com/static-var/vlr-gg/blob/trunk/art/NEWS_DARK_VLR.jpg)           |\r\n| ![](https://github.com/static-var/vlr-gg/blob/trunk/art/BLOG_LIGHT_VLR.jpg)           | ![](https://github.com/static-var/vlr-gg/blob/trunk/art/BLOG_DARK_VLR.jpg)           |\r\n| ![](https://github.com/static-var/vlr-gg/blob/trunk/art/MATCH_OVERVIEW_LIGHT_VLR.jpg) | ![](https://github.com/static-var/vlr-gg/blob/trunk/art/MATCH_OVERVIEW_DARK_VLR.jpg) |\r\n| ![](https://github.com/static-var/vlr-gg/blob/trunk/art/MATCH_DETAILS_LIGHT_VLR.jpg)  | ![](https://github.com/static-var/vlr-gg/blob/trunk/art/MATCH_DETAILS_DARK_VLR.jpg)  |\r\n| ![](https://github.com/static-var/vlr-gg/blob/trunk/art/EVENT_OVERVIEW_LIGHT_VLR.jpg) | ![](https://github.com/static-var/vlr-gg/blob/trunk/art/EVENT_OVERVIEW_DARK_VLR.jpg) |\r\n| ![](https://github.com/static-var/vlr-gg/blob/trunk/art/EVENT_LIGHT_VLR.jpg)          | ![](https://github.com/static-var/vlr-gg/blob/trunk/art/EVENT_DARK_VLR.jpg)          |\r\n| ![](https://github.com/static-var/vlr-gg/blob/trunk/art/SQUAD_LIGHT_VLR.jpg)          | ![](https://github.com/static-var/vlr-gg/blob/trunk/art/SQUAD_DARK_VLR.jpg)          |\r\n| ![](https://github.com/static-var/vlr-gg/blob/trunk/art/ABOUT_LIGHT_VLR.jpg)          | ![](https://github.com/static-var/vlr-gg/blob/trunk/art/ABOUT_DARK_VLR.jpg)          |\r\n\r\n\r\n## ✨ App Overview ✨\r\n\r\nThe app currently shows the following information\r\n- News and news articles\r\n- (Ongoing, upcoming and completed) matches and matche details\r\n- (Ongoing, upcoming and completed) events and events details\r\n- Team details\r\n- Team ranks per region\r\n\r\n#### Additional features\r\n- Users can opt in to get notified for their choice of matches a few minutes before it starts.\r\n- Users can opt in to get notified for their favorite teams' match a few minutes before it starts.\r\n- Widget to see scores and updates on your home screen.\r\n- App uses Material 3 theming.\r\n\r\n## 🧑‍💻 Dev Overview 🧑‍💻\r\n\r\nThe application has been written completely in [Kotlin](https://kotlinlang.org/) and [Jetpack Compose](https://developer.android.com/jetpack/compose)\r\n\r\n#### Libraries used:\r\n- [Material3](https://developer.android.com/jetpack/androidx/releases/compose-material3) - M3 opens up new possibilities for both brand colors and individual color preferences to converge in one-of-a-kind experiences. The color system embraces the need for color to reflect an app’s design sensibility, while also honoring the settings that individuals choose for themselves. \r\n- [Coroutines](https://kotlinlang.org/docs/coroutines-overview.html) - Kotlin solves Asynchronous or non-blocking programming problem in a flexible way by providing coroutine support at the language level and delegating most of the functionality to libraries.\r\n- [Hilt](https://developer.android.com/training/dependency-injection/hilt-android) - Hilt is a dependency injection library for Android that reduces the boilerplate of doing manual dependency injection in your project.\r\n- [Room](https://developer.android.com/jetpack/androidx/releases/room) - The Room persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.\r\n- [Firebase Analytics](https://firebase.google.com/docs/analytics) - Analytics is an app measurement solution, available at no charge, that provides insight on app usage and user engagement.\r\n- [Firebase Messaging](https://firebase.google.com/docs/cloud-messaging) - Firebase Cloud Messaging (FCM) is a cross-platform messaging solution that lets you reliably send messages at no cost.\r\n- [Ktor-client](https://ktor.io/docs/create-client.html) - Ktor is a framework to easily build connected applications\r\n- [Kotlinx Serialization](https://github.com/Kotlin/kotlinx.serialization) - Kotlin serialization consists of a compiler plugin, that generates visitor code for serializable classes, runtime library with core serialization API and support libraries with various serialization formats.\r\n- [Navigation Compose](https://developer.android.com/jetpack/compose/navigation) - Navigation Compose enables you to navigate between composables while taking advantage of the Navigation component’s infrastructure and features.\r\n- [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) - The ViewModel class is 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.\r\n- [Glance](https://developer.android.com/reference/kotlin/androidx/glance/package-summary) - Build layouts for remote surfaces using a Jetpack Compose-style API.\r\n- [SplashScreen](https://developer.android.com/guide/topics/ui/splash-screen) - The SplashScreen API enables a new app launch animation for all apps when running on a device with Android 12 or higher. This includes an into-app motion at launch, a splash screen showing your app icon, and a transition to your app itself.\r\n- [Material Icons](https://developer.android.com/reference/kotlin/androidx/compose/material/icons/Icons) - Material Design system icons as seen on Google Fonts.\r\n- [Webkit](https://developer.android.com/reference/android/webkit/package-summary) - Provides tools for browsing the web.\r\n- [Accompanist](https://google.github.io/accompanist/) - Accompanist is a group of libraries that aim to supplement Jetpack Compose with features that are commonly required by developers but not yet available.\r\n  - System Ui Controller\r\n  - Navigation Animation\r\n  - Pager \u0026 Pager Indicators\r\n  - Webview\r\n- [Jsoup](https://jsoup.org/) - jsoup is a Java library for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\r\n- [Landscapist-glide](https://github.com/skydoves/landscapist) - Jetpack Compose image loading library which fetches and displays network images.\r\n\r\n## License\r\n\r\n```\r\nCopyright (c) 2022 Shreyansh Lodha\r\n\r\nPermission is hereby granted, free of charge, to any\r\nperson obtaining a copy of this software and associated\r\ndocumentation files (the \"Software\"), to deal in the\r\nSoftware without restriction, including without\r\nlimitation the rights to use, copy, modify, merge,\r\npublish, distribute, sublicense, and/or sell copies of\r\nthe Software, and to permit persons to whom the Software\r\nis furnished to do so, subject to the following\r\nconditions:\r\n\r\nThe above copyright notice and this permission notice\r\nshall be included in all copies or substantial portions\r\nof the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF\r\nANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\r\nTO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\r\nPARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT\r\nSHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\r\nIN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\r\nDEALINGS IN THE SOFTWARE.\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatic-var%2Fvlr-gg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstatic-var%2Fvlr-gg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatic-var%2Fvlr-gg/lists"}