Lightweight, fast and private cryptocurrencies monitor for Android ๐ฑ๐ No Ads, no trackers, just coins ๐ Get it on your favourite Store:
- 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).
- Favourites: track your favourite coins at a glance by adding them to the favourite list and sorting them as you wish.
- Search: search over 10.000 coins by name or symbol.
- Settings: choose the tracking configuration you need.
CoinTrend 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!
Don'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!
The User Interface has been designed by following the latest Google's Material Design guidelines and by using only native Android components and animations.
-
100% Jetpack Compose ๐
-
Material Design 3 ๐
-
Multimodule Clean Architecture ๐ as davidepanidev's Clean Architecture Compose Concept which consists of 4 separate modules:
-
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.
-
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.
-
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. -
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.
-
-
Unit Testing โ๏ธ of the domain logic using MockK, Strickt and Turbine to test Kotlin Flows.
- ZineeEddine & beastboym: thanks for working on the AboutScreen.
-
Philipp Lackner: he inspired the LineChart with his StockChart. Check out his YouTube channel for great videos about Android Development!
-
Zach Klippenstein: he inspired the SegmentedControl with his Composable.
-
nicolashaan: for the Resultat library.
-
olshevski: for the Compose Navigation Reimagined library.
-
mxalbert1996: for the Compose Shared Element library.
-
aclassen: for the ComposeReorderable library.
CoinTrend as a FOSS project does not generate any revenue. If you wish to support the developers you can donate at the addresses below:
bc1qszr4jv77n737569vhsdwgq3zc2x47n39mlq82f
47h4uVziTTNgWVmorhoJ5YAvC3pbjnLUb6t9v9BcRyWY4koyuFf8dQE41caPSVy5pcfh5WvMAwzSZ27omunS2AxHDhJbeeJ
CoinTrend is released under the GPL-3.0 License. Unless explicitly stated otherwise all files in this repository are so licensed.
All projects must properly attribute the original source and must include an unmodified copy of the license text below in all forks.
CoinTrend: lightweight, fast and open-source cryptocurrencies monitor
Copyright (C) 2022 CoinTrend
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.