{"id":13642212,"url":"https://github.com/CoinTrend/CoinTrend","last_synced_at":"2025-04-20T16:30:51.120Z","repository":{"id":62401904,"uuid":"558935340","full_name":"CoinTrend/CoinTrend","owner":"CoinTrend","description":"Lightweight Open-Source Crypto Monitor 📱📈 Android MVVM/MVI Multimodule Clean Architecture, Unidirectional Data Flow, Kotlin Flows, Room, Retrofit, Coroutines, 100% Jetpack Compose 🚀 Available on Google Play ▶️ and F-Droid 🤖","archived":false,"fork":false,"pushed_at":"2024-01-17T19:34:47.000Z","size":929,"stargazers_count":194,"open_issues_count":16,"forks_count":26,"subscribers_count":4,"default_branch":"develop","last_synced_at":"2024-08-03T01:25:54.129Z","etag":null,"topics":["android-architecture","android-architecture-components","android-multi-module","android-mvvm-architecture","clean-architecture","clean-architecture-android","coingecko-api","compose-navigation","cryptocurrencies","cryptocurrency-prices","hilt-dependency-injection","jetpack-compose","jetpack-compose-animation","jetpack-compose-charts","kotlin-coroutines","kotlin-flows","material-design-3","mvvm","room-database","unidirectional-data-flow"],"latest_commit_sha":null,"homepage":"https://cointrend.flycricket.io","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CoinTrend.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"custom":["https://github.com/CoinTrend#support"]}},"created_at":"2022-10-28T16:22:23.000Z","updated_at":"2024-07-26T07:28:47.000Z","dependencies_parsed_at":"2024-01-14T09:58:16.872Z","dependency_job_id":null,"html_url":"https://github.com/CoinTrend/CoinTrend","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoinTrend%2FCoinTrend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoinTrend%2FCoinTrend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoinTrend%2FCoinTrend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoinTrend%2FCoinTrend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CoinTrend","download_url":"https://codeload.github.com/CoinTrend/CoinTrend/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223832871,"owners_count":17210735,"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":["android-architecture","android-architecture-components","android-multi-module","android-mvvm-architecture","clean-architecture","clean-architecture-android","coingecko-api","compose-navigation","cryptocurrencies","cryptocurrency-prices","hilt-dependency-injection","jetpack-compose","jetpack-compose-animation","jetpack-compose-charts","kotlin-coroutines","kotlin-flows","material-design-3","mvvm","room-database","unidirectional-data-flow"],"created_at":"2024-08-02T01:01:28.613Z","updated_at":"2025-04-20T16:30:51.113Z","avatar_url":"https://github.com/CoinTrend.png","language":"Kotlin","funding_links":["https://github.com/CoinTrend#support"],"categories":["🍏 Health \u0026 Lifestyle"],"sub_categories":["💸 Economy"],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cp\u003e\u003cimg src=\"https://github.com/CoinTrend/CoinTrend/blob/develop/metadata/en-US/images/icon.png\" width=\"200\"\u003e\u003c/p\u003e\n \n# CoinTrend\n\n### Lightweight Open-Source Crypto Monitor\n\n[![Android](https://img.shields.io/badge/Android-grey?logo=android\u0026style=flat)](https://www.android.com/)\n[![AndroidAPI](https://img.shields.io/badge/API-23%2B-brightgreen.svg?style=flat)](https://www.android.com/)\n[![Kotlin](https://img.shields.io/badge/kotlin-1.9.22-blue.svg?logo=kotlin)](https://kotlinlang.org)\n[![JetpackCompose](https://img.shields.io/badge/Jetpack%20Compose-1.5.4-yellow)](https://developer.android.com/jetpack/compose)\n[![License](https://img.shields.io/github/license/CoinTrend/CoinTrend?color=orange)](./LICENSE)\n[![Release](https://badgen.net/github/release/CoinTrend/CoinTrend?color=red)](https://github.com/CoinTrend/CoinTrend/releases)\n\n\n\u003cp align=\"center\"\u003e \n  \u003ca href='https://play.google.com/store/apps/details?id=com.cointrend\u0026pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'\u003e\n    \u003cimg alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png' height=75/\u003e\u003c/a\u003e\n \n  \u003ca href='https://f-droid.org/packages/com.cointrend/'\u003e\n    \u003cimg alt='Get it on F-Droid' src=\"https://fdroid.gitlab.io/artwork/badge/get-it-on.png\" height=\"75\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n \n\n\u003c/div\u003e\n \n ----\n \nLightweight, fast and private cryptocurrencies monitor for Android 📱📈 No Ads, no trackers, just coins 💎\n\n## Features\n\n- **Market**: real-time updates of the Trending Coins (the most searched coins in the last 24h) and the Top Coins (the top 250 cryptocurrencies by market cap).\n- **Favourites**: track your favourite coins at a glance by adding them to the favourite list and sorting them as you wish.\n- **Search**: search over 10.000 coins by name or symbol.\n- **Settings**: choose the tracking configuration you need.\n\n\u003cbr\u003e\n\n\u003cp float=\"left\"\u003e\n  \u003cimg src=\"https://github.com/CoinTrend/CoinTrend/blob/develop/metadata/en-US/images/phoneScreenshots/1.jpg\" width=\"23%\" /\u003e\n  \u003cimg src=\"https://github.com/CoinTrend/CoinTrend/blob/develop/metadata/en-US/images/phoneScreenshots/2.jpg\" width=\"23%\" /\u003e\n  \u003cimg src=\"https://github.com/CoinTrend/CoinTrend/blob/develop/metadata/en-US/images/phoneScreenshots/3.jpg\" width=\"23%\" /\u003e\n  \u003cimg src=\"https://github.com/CoinTrend/CoinTrend/blob/develop/metadata/en-US/images/phoneScreenshots/4.jpg\" width=\"23%\" /\u003e\n\u003c/p\u003e\n\n\n### Lightweight\nCoinTrend stores coins' data locally and updates them automatically only when needed, thus minimising network data consumption and battery consumption. You can still manually trigger a data update whenever you need it by simply swiping down on each screen!\n\n### 100% free and open-source\nDon't trust, verify! CoinTrend is 100% free and does not include any ads nor trackers. Check the code out yourself and don't hesitate to reach out if you have any suggestions!\n\n### Designed for Android\nThe User Interface has been designed by following the latest Google's Material Design guidelines and by using only native Android components and animations.\n\n\n## Technical Details\n\n- **100% Jetpack Compose** 🚀\n\n- **Material Design 3** 💎\n\n- **Multimodule Clean Architecture** 🏛 as [davidepanidev](https://github.com/davidepanidev)'s [Clean Architecture Compose Concept](https://github.com/davidepanidev/android-multimodule-architecture-concepts/tree/clean-architecture-compose-concept) which consists of 4 separate modules:\n  -  _app_: Android module that contains the Android Application component and all the framework specific configurations. It has visibility over all the other modules and defines the global dependency injection configurations.\n  -  _presentation_: Android module **MVVM**-based. It contains the Android UI framework components (Activities, Composables, ViewModels...) and the related resources (e.g. images, strings...). This module just observes data coming from the undelying modules through Kotlin Flows and displays it. \n  -  _domain_: Kotlin module that contains Use Cases (platform-independent business logic), the Entities (platform-independent business models) and the Repository interfaces. It contains the `BaseAutomaticRefreshDataFlowUseCase` which handles the logic to refresh the persisted data when it becomes outdated.\n  -  _data_: Android module that acts as the **Single-Source-Of-Truth (SSOT)** of the App. It contains Repositories implementation, the Room Entities for persistence, the data source Api implementations and the corresponding api-specific models.\n  \n- **Unit Testing** ⚙️ of the domain logic using MockK, Strickt and Turbine to test Kotlin Flows.\n\n\n## Powered By\n\n- [CoinGecko API](https://www.coingecko.com/api/)\n\n\n## Credits\n\n\n### Contributors\n\n- [ZineeEddine](https://github.com/ZineeEddine) \u0026 [beastboym](https://github.com/beastboym): thanks for working on the AboutScreen.\n\n\n### Libraries\n\n- [Philipp Lackner](https://github.com/philipplackner): he inspired the LineChart with his [StockChart](https://github.com/philipplackner/StockMarketApp/blob/final/app/src/main/java/com/plcoding/stockmarketapp/presentation/company_info/StockChart.kt). Check out his YouTube channel for great videos about Android Development!\n\n- [Zach Klippenstein](https://github.com/zach-klippenstein): he inspired the SegmentedControl with his [Composable](https://gist.github.com/zach-klippenstein/7ae8874db304f957d6bb91263e292117).\n\n- [nicolashaan](https://github.com/nicolashaan): for the [Resultat](https://github.com/nicolashaan/resultat) library.\n\n- [olshevski](https://github.com/olshevski): for the [Compose Navigation Reimagined](https://github.com/olshevski/compose-navigation-reimagined) library.\n\n- [mxalbert1996](https://github.com/mxalbert1996): for the [Compose Shared Element](https://github.com/mxalbert1996/compose-shared-elements) library.\n\n- [aclassen](https://github.com/aclassen): for the [ComposeReorderable](https://github.com/aclassen/ComposeReorderable) library.\n\n\n## Support\n\nCoinTrend as a FOSS project does not generate any revenue. If you wish to support the developers you can donate some sats at the Bitcoin address below:\n\n### Bitcoin\n\n```\nbc1qszr4jv77n737569vhsdwgq3zc2x47n39mlq82f\n```  \n\n\u003cp\u003e\u003cimg src=\"https://raw.githubusercontent.com/CoinTrend/.github/main/support/bitcoin.png\" width=\"200\"\u003e\u003c/p\u003e\n\n### Monero\n\n```\n47h4uVziTTNgWVmorhoJ5YAvC3pbjnLUb6t9v9BcRyWY4koyuFf8dQE41caPSVy5pcfh5WvMAwzSZ27omunS2AxHDhJbeeJ\n```\n\n\u003cp\u003e\u003cimg src=\"https://raw.githubusercontent.com/CoinTrend/.github/main/support/monero.png\" width=\"200\"\u003e\u003c/p\u003e\n\n\n## License\n\nCoinTrend is released under the [GPL-3.0 License](./LICENSE). Unless explicitly \nstated otherwise all files in this repository are so licensed.\n\nAll projects must properly attribute [the original source](https://github.com/CoinTrend/CoinTrend)\nand must include an unmodified copy of the license text below in all forks.\n\n```\nCoinTrend: lightweight, fast and open-source cryptocurrencies monitor\nCopyright (C) 2022  CoinTrend\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n```   \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCoinTrend%2FCoinTrend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCoinTrend%2FCoinTrend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCoinTrend%2FCoinTrend/lists"}