CoinTrend

Lightweight Open-Source Crypto Monitor

Android AndroidAPI Kotlin JetpackCompose License Release

Get it on Google Play Get it on F-Droid


Features

  • 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.
  • Search: search over 10.000 coins by name or symbol.

Lightweight

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!

100% free and open-source

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!

Designed for Android

The User Interface has been designed by following the latest Google’s Material Design guidelines and by using only native Android components and animations.

Technical Details

  • 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.

Powered By

Credits

License

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/>.

GitHub

View Github