Demonstration โข Features โข Architecture โข Setup โข Contributing โข License
This app is currently under active development. You may encounter bugs or incomplete features. Please report any issues via our GitHub Issues page.
Kripto is a modern, feature-rich cryptocurrency tracking application for Android that provides real-time market data for over 7,000 cryptocurrencies. Built with the latest Android development practices and powered by CoinGecko's API, Kripto offers a seamless user experience with dark mode, biometric security, and smooth animations.
- ๐ Real-Time Market Data - Track prices, market cap, volume, and price charts for 7000+ cryptocurrencies
- ๐ฆ Exchange Tracking - Monitor 400+ exchanges with Trust Score ratings
- โญ Favorites - Bookmark your preferred coins for quick access
- ๐ Global Market Stats - View comprehensive cryptocurrency and DeFi market statistics
- ๐ฑ Multi-Currency Support - Choose from multiple fiat currencies
- ๐ Interactive Charts - Beautiful price charts with multiple timeframes
- ๐ Dark Mode - Full dark theme support with system-following option
- ๐ Biometric Authentication - Secure your app with fingerprint/face unlock
- โจ Smooth Animations - Material Design animations and transitions
- ๐ณ Haptic Feedback - Tactile response for better user interaction
- ๐จ Multiple Themes - Choose from various color themes
- โก Skeleton Loading - Shimmer effect while loading data
- ๐ Modern Splash Screen - Updated splash screen using Android 12+ API
Kripto follows modern Android development best practices with clean architecture and MVVM pattern.
graph TB
subgraph "Presentation Layer"
A[Activities/Fragments] --> B[ViewModels]
B --> C[LiveData/StateFlow]
end
subgraph "Domain Layer"
D[Use Cases]
E[Repository Interface]
end
subgraph "Data Layer"
F[Repository Implementation]
F --> G[Remote Data Source]
F --> H[Local Data Source]
G --> I[Retrofit API]
H --> J[Room Database]
end
subgraph "External Services"
K[CoinGecko API]
I --> K
end
subgraph "Dependency Injection"
L[Hilt/Dagger]
L -.->|Provides| B
L -.->|Provides| F
L -.->|Provides| I
L -.->|Provides| J
end
B --> D
D --> E
E --> F
subgraph "Utilities"
M[ThemeManager]
N[BiometricManager]
O[AnimationUtils]
P[HapticUtils]
end
A -.->|Uses| M
A -.->|Uses| N
A -.->|Uses| O
A -.->|Uses| P
style A fill:#42A5F5
style B fill:#66BB6A
style F fill:#FFA726
style I fill:#EC407A
style J fill:#AB47BC
style K fill:#FF7043
style L fill:#26C6DA
- MVVM Pattern - Separation of concerns with ViewModel and LiveData
- Repository Pattern - Single source of truth for data operations
- Dependency Injection - Hilt for managing dependencies
- Reactive Programming - Kotlin Coroutines and Flow for asynchronous operations
- Single Activity - Navigation Component for fragment management
- Language: Kotlin 1.9.25
- Min SDK: 24 (Android 7.0)
- Target SDK: 35 (Android 15)
- Build System: Gradle 8.10.2 with AGP 8.7.2
- Retrofit 2.11.0 - Type-safe HTTP client
- OkHttp 4.12.0 - HTTP client with interceptors
- Gson 2.11.0 - JSON parsing
- Material Components 1.12.0 - Material Design components
- Glide 4.16.0 - Image loading and caching
- MPAndroidChart 3.1.0 - Interactive charts
- Lottie 6.1.0 - Animation library
- Shimmer 0.5.0 - Skeleton loading effect
- Heroicons - Beautiful hand-crafted SVG icons
- Hilt 2.52 - Dependency injection
- Navigation 2.8.5 - Fragment navigation
- Lifecycle 2.8.7 - Lifecycle-aware components
- Room 2.6.1 - Local database
- Coroutines 1.7.3 - Asynchronous programming
- Flow - Reactive streams
- Timber 5.0.1 - Logging
- Paging 3 - Paginated data loading
- WorkManager 2.10.0 - Background tasks
- Biometric 1.1.0 - Biometric authentication
- Core Splashscreen 1.0.1 - Modern splash screens
Before you begin, ensure you have the following installed:
- Android Studio - Latest stable version (Hedgehog | 2023.1.1 or newer)
- JDK - Java Development Kit 17
- Gradle - Will be downloaded automatically by the wrapper
- Android SDK - API Level 35
- Open Android Studio
- Select "Get from VCS" on the welcome screen
- Enter the repository URL:
https://github.com/YOUR_USERNAME/Kripto.git - Click Clone
- Wait for Gradle sync to complete
- Click Run
โถ๏ธ to build and install the app
- Download the project as ZIP from GitHub
- Extract the ZIP file
- Open Android Studio
- Select "Open" and navigate to the extracted folder
- Wait for Gradle sync to complete
- Click Run
โถ๏ธ to build and install the app
To build an APK file:
- Go to Build โ Build Bundle(s) / APK(s) โ Build APK(s)
- Wait for the build to complete
- Click "locate" in the notification to find your APK
- APK location:
app/build/outputs/apk/debug/app-debug.apk
Or via command line:
# Windows
.\gradlew.bat assembleDebug
# Linux/Mac
./gradlew assembleDebugThe project uses:
- Gradle: 8.10.2
- Android Gradle Plugin: 8.7.2
- Kotlin: 1.9.25
- Java: 17
The app uses CoinGecko's free API which doesn't require an API key. However, rate limits apply:
- Free tier: 10-30 calls/minute
- For higher limits, consider CoinGecko API Pro
The app requires the following permissions:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" />- INTERNET - Required to fetch cryptocurrency data from API
- ACCESS_NETWORK_STATE - Check network connectivity status
- VIBRATE - Haptic feedback for user interactions
- USE_BIOMETRIC - Optional biometric authentication
Full dark theme support with three options:
- Light Mode
- Dark Mode
- Follow System (Android 10+)
Optional fingerprint or face unlock to secure the app.
- Fade-in animations for list items
- Pulse effects on button clicks
- Shake animations for errors
- Material Design transitions
Choose from various color themes:
- Red
- Blue
- Green
- Blue Gray
- And more...
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please read our Contributing Guidelines for more details.
- ๐ Bug fixes
- โจ New features
- ๐ Documentation improvements
- ๐จ UI/UX enhancements
- ๐ Translations
- โฟ Accessibility improvements
Kripto/
โโโ app/
โ โโโ src/
โ โ โโโ main/
โ โ โ โโโ java/com/camo/kripto/
โ โ โ โ โโโ error/ # Error handling
โ โ โ โ โโโ local/ # Room database
โ โ โ โ โโโ remote/ # API services
โ โ โ โ โโโ repos/ # Repository pattern
โ โ โ โ โโโ ui/ # Activities, Fragments, Adapters
โ โ โ โ โ โโโ adapter/
โ โ โ โ โ โโโ presentation/
โ โ โ โ โ โโโ viewModel/
โ โ โ โ โโโ utils/ # Utility classes
โ โ โ โ โโโ workers/ # Background workers
โ โ โ โโโ res/ # Resources
โ โ โ โ โโโ layout/
โ โ โ โ โโโ values/
โ โ โ โ โโโ values-night/ # Dark theme colors
โ โ โ โ โโโ drawable/
โ โ โ โ โโโ mipmap/
โ โ โ โโโ AndroidManifest.xml
โ โ โโโ test/ # Unit tests
โ โ โโโ androidTest/ # Instrumentation tests
โ โโโ build.gradle
โโโ gradle/
โโโ build.gradle
โโโ settings.gradle
- Rate limiting may occur with rapid API calls (CoinGecko free tier limitation)
- Some cryptocurrency logos may not load due to API response
- Price alerts and notifications
- Portfolio tracking
- News integration
- Widget support
- Export data to CSV
- Compare cryptocurrencies
- Watchlist sync across devices
- Support for more fiat currencies
Kripto - A Cryptocurrency Tracking App
Copyright (C) 2024
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/>.
Created with โค๏ธ by the Kripto team
- CoinGecko for providing the comprehensive cryptocurrency API
- Heroicons for beautiful icons
- All open-source contributors whose libraries made this project possible
If you encounter any issues or have questions:
- ๐ Report a Bug
- ๐ก Request a Feature
- ๐ง Contact: your.email@example.com
If you find this project useful, please consider giving it a โญ๏ธ!
Made with โค๏ธ using Kotlin and Android
