{"id":18004333,"url":"https://github.com/spikeysanju/picto","last_synced_at":"2025-10-04T05:55:07.401Z","repository":{"id":113767080,"uuid":"263418258","full_name":"Spikeysanju/Picto","owner":"Spikeysanju","description":"🌌 An MVVM Sample project with custom Image Loading Library","archived":false,"fork":false,"pushed_at":"2020-05-25T06:29:24.000Z","size":18225,"stargazers_count":20,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-28T02:37:50.476Z","etag":null,"topics":["android","coroutines-android","darktheme","imageloadinglibrary","koin","koin-android","kotlin","kotlin-android","kotlin-coroutines","kotlin-library","livedata-viewmodel","material-design","mvvm-architecture","okhttp3","recyclerview","retrofit2","room-database","room-persistence-library","sharedpreferences","viewmodel"],"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/Spikeysanju.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},"funding":{"custom":["https://www.paypal.com/paypalme2/spikeysanju"]}},"created_at":"2020-05-12T18:27:13.000Z","updated_at":"2023-07-17T09:45:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"698f5c20-2d6f-47c4-af80-1d2f4c6b298f","html_url":"https://github.com/Spikeysanju/Picto","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Spikeysanju/Picto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spikeysanju%2FPicto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spikeysanju%2FPicto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spikeysanju%2FPicto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spikeysanju%2FPicto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Spikeysanju","download_url":"https://codeload.github.com/Spikeysanju/Picto/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Spikeysanju%2FPicto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278272315,"owners_count":25959524,"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-04T02:00:05.491Z","response_time":63,"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","coroutines-android","darktheme","imageloadinglibrary","koin","koin-android","kotlin","kotlin-android","kotlin-coroutines","kotlin-library","livedata-viewmodel","material-design","mvvm-architecture","okhttp3","recyclerview","retrofit2","room-database","room-persistence-library","sharedpreferences","viewmodel"],"created_at":"2024-10-30T00:14:06.717Z","updated_at":"2025-10-04T05:55:07.382Z","avatar_url":"https://github.com/Spikeysanju.png","language":"Kotlin","funding_links":["https://www.paypal.com/paypalme2/spikeysanju"],"categories":[],"sub_categories":[],"readme":"\n\n![GitHub Cards Preview](https://github.com/Spikeysanju/Picto/blob/master/Screenshots/PictoCard.jpg?raw=true)\n\n# Picto\n**Picto** is a sample gallery Android application 📱 built to demonstrate use of *Modern Android development* tools \u0026 use of\n*[Picto](https://github.com/Spikeysanju/Picto/blob/master/app/src/main/java/www/spikeysanju/picto/pictoImageLoader/Picto.kt) - An Custom image loading library for Android developed by [Spikeysanju](https://github.com/Spikeysanju) 🥳.*\n\n\n*API for Picto App is hosted here [here](http://3ue.xyz/img_api/)*.\n\n\n***You can Install and test latest Picto app from below 👇***\n\n[![Picto App](https://img.shields.io/badge/Picto🌈-APK-black.svg?style=for-the-badge\u0026logo=android)](https://github.com/Spikeysanju/Picto/blob/master/apk/Picto.apk)\n\n\n\n## Built With 🛠\n- [Kotlin](https://kotlinlang.org/) - First class and official programming language for Android development.\n- [Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html) - For asynchronous and more..\n- [Android Architecture Components](https://developer.android.com/topic/libraries/architecture) - Collection of libraries that help you design robust, testable, and maintainable apps.\n  - [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) - Data objects that notify views when the underlying database changes.\n  - [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) - Stores UI-related data that isn't destroyed on UI changes. \n  - [Room](https://developer.android.com/topic/libraries/architecture/room) - SQLite object mapping library.\n- [Koin](https://insert-koin.io/) - Dependency Injection Framework\n- [Retrofit 2](https://square.github.io/retrofit/) - A type-safe HTTP client for Android and Java.\n- [GSON Converter](https://github.com/square/retrofit/tree/master/retrofit-converters/gson) - A Converter which uses Gson for serialization to and from JSON.\n- [Picto](https://github.com/Spikeysanju/Picto/blob/master/app/src/main/java/www/spikeysanju/picto/pictoImageLoader/Picto.kt) - An Custom image loading library for Android developed by [Spikeysanju](https://github.com/Spikeysanju).\n- [Material Components for Android](https://github.com/material-components/material-components-android) - Modular and customizable Material Design UI components for Android.\n\n\n\n\n\n# Package Structure\n    \n    www.spikeysanju.picto   # Root Package\n    .\n    ├── data                # For data handling.\n    │   ├── db              # Local Persistence Database. Room (SQLite) database\n    |   │   ├── dao         # Data Access Object for Room   \n    |   |   |── database    # Datbase Instance\n    │   ├── api             # Remote Data Handlers     \n    |   │   ├── postapi     # Retrofit API for remote end point.\n    │   └── |── retrofit    # Single source of data.\n    |\n    ├── model               # Model classes\n    |\n    ├── di                  # Dependency Injection             \n    │   ├── builder         # Activity Builder\n    │   ├── component       # DI Components       \n    │   └── module          # DI Modules\n    |\n    ├── ui                  # Activity/View layer\n    │   ├── main            # Main Screen Activity \u0026 ViewModel\n    |   │   ├── adapter     # Adapter for RecyclerView\n    |   │   └── viewmodel   # ViewHolder for RecyclerView   \n    |\n    └── utils               # Utility Classes / Kotlin extensions\n    \n    \n    \n    ## Architecture\nThis app uses [***MVVM (Model View View-Model)***](https://developer.android.com/jetpack/docs/guide#recommended-app-arch) architecture.\n\n![](https://developer.android.com/topic/libraries/architecture/images/final-architecture.png)\n\n\n## Contribute\nIf you want to contribute to this library, you're always welcome!\nSee [Contributing Guidelines](CONTRIBUTING.md). \n\n## Contact\nHave an project? DM me at 👇\n\nDrop a mail to:- spikeysanju98@gmail.com\n\n# Donation\nIf this project help you reduce time to develop, you can give me a cup of coffee :) \n\n[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/paypalme2/spikeysanju)\n\n\n## License\n```\nMIT License\n\nCopyright (c) 2020 Spikeysanju\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspikeysanju%2Fpicto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspikeysanju%2Fpicto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspikeysanju%2Fpicto/lists"}