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.
crypto3.webm
- MVI Architecture
- Channel Coroutines
- Kotlin Flow
- LiveData
- Pagination
- Single activity pattern
- REST API
- Dynamic Response
- Base Activity ,Fragment
- Dependency injection
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.
-
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.
Have a project? DM me at
Special thanks to Mr Mohammad Nouri for providing the course that helped me.