Skip to content

A cryptocurrency dashboard that provides real-time data and conversion options for various cryptocurrencies using the CoinGecko API.

Notifications You must be signed in to change notification settings

hossein69ameri/CryptoApp

Repository files navigation

CryptoApp

This project is a cryptocurrency dashboard that leverages the CoinGecko API to provide users with a comprehensive list of cryptocurrencies and their details. Users can view real-time data about various cryptocurrencies and convert between different cryptocurrencies seamlessly. The application offers an intuitive interface, making it easy to explore market trends and perform conversions efficiently.

For more information on the CoinGecko API, visit the CoinGecko: Cryptocurrency Prices, Charts, and Crypto Market.

Screen Shot

crypto3.webm

Technologies

  • MVI Architecture
  • Channel Coroutines
  • Kotlin Flow
  • LiveData
  • Pagination
  • Single activity pattern
  • REST API
  • Dynamic Response
  • Base Activity ,Fragment
  • Dependency injection

Built with

Kotlin - First class and official programming language for Android development.

Font Calligraphy - View Inflation you can intercept.

Chart - Android Library to rapidly develop attractive and insightful charts in android applications.

Retrofit + OkHttp - RESTful API and networking client.

Hilt - Dependency injection.

ViewBinding - View binding is a feature that allows you to more easily write code that interacts with views.

Android Architecture Components - A collections of libraries that help you design robust, testable, and maintainable apps.

ViewModel - UI related data holder, lifecycle aware.

Navigation component - Fragment routing handler.

Coroutines - Concurrency design pattern for asynchronous programming.

Flow - Stream of value that returns from suspend function.

Coil - Image loading.

DynamicSize - New units of measure for support all of screen devices.

Architectures

1689111067509

  • View: View is the UI renderer, displaying the app’s state to the user without handling business logic. It updates based on the Model’s state changes.

  • Intent: Represents user actions or the app itself, like button clicks or text input, it’s all about what the user wants to do in the app. The View catches these intentions and sends them to the Model, which then takes actions (like updating the app’s status)

  • Model: Holds all the app’s data and logic, like a single source of truth. It’s never directly changed, but updated by creating new states.

Contact

Have a project? DM me at

[email protected]

Acknowledgments

Special thanks to Mr Mohammad Nouri for providing the course that helped me.

About

A cryptocurrency dashboard that provides real-time data and conversion options for various cryptocurrencies using the CoinGecko API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages