Skip to content

adit9852/Kripto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

10 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Kripto Logo

Kripto

A Modern Cryptocurrency Tracking App for Android

Android Kotlin API License

Demonstration โ€ข Features โ€ข Architecture โ€ข Setup โ€ข Contributing โ€ข License


โš ๏ธ Notice

This app is currently under active development. You may encounter bugs or incomplete features. Please report any issues via our GitHub Issues page.


๐ŸŽฌ Demonstration

๐Ÿš€ Launch Live Demo

๐Ÿ“ฑ About

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.

Powered by CoinGecko

Powered by CoinGecko API


โœจ Features

Core Features

  • ๐Ÿ“Š 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

Modern UI/UX Features

  • ๐ŸŒ™ 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

๐Ÿ—๏ธ Architecture

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
Loading

Architecture Components

  • 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

๐Ÿ› ๏ธ Tech Stack

Core Technologies

  • 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

Libraries and Dependencies

Networking

UI & Design

Architecture & DI

Async & Concurrency

Other


๐Ÿ“‹ Prerequisites

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

Download Android Studio


๐Ÿš€ Development Setup

Method 1: Clone from Git

  1. Open Android Studio
  2. Select "Get from VCS" on the welcome screen
  3. Enter the repository URL:
    https://github.com/YOUR_USERNAME/Kripto.git
    
  4. Click Clone
  5. Wait for Gradle sync to complete
  6. Click Run โ–ถ๏ธ to build and install the app

Method 2: Download ZIP

  1. Download the project as ZIP from GitHub
  2. Extract the ZIP file
  3. Open Android Studio
  4. Select "Open" and navigate to the extracted folder
  5. Wait for Gradle sync to complete
  6. Click Run โ–ถ๏ธ to build and install the app

Building APK

To build an APK file:

  1. Go to Build โ†’ Build Bundle(s) / APK(s) โ†’ Build APK(s)
  2. Wait for the build to complete
  3. Click "locate" in the notification to find your APK
  4. APK location: app/build/outputs/apk/debug/app-debug.apk

Or via command line:

# Windows
.\gradlew.bat assembleDebug

# Linux/Mac
./gradlew assembleDebug

๐Ÿ”ง Configuration

Gradle Configuration

The project uses:

  • Gradle: 8.10.2
  • Android Gradle Plugin: 8.7.2
  • Kotlin: 1.9.25
  • Java: 17

API Configuration

The app uses CoinGecko's free API which doesn't require an API key. However, rate limits apply:


๐Ÿ“ฑ Permissions Required

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

๐ŸŽจ Features Showcase

Dark Mode

Full dark theme support with three options:

  • Light Mode
  • Dark Mode
  • Follow System (Android 10+)

Biometric Security

Optional fingerprint or face unlock to secure the app.

Smooth Animations

  • Fade-in animations for list items
  • Pulse effects on button clicks
  • Shake animations for errors
  • Material Design transitions

Multi-Theme Support

Choose from various color themes:

  • Red
  • Blue
  • Green
  • Blue Gray
  • And more...

๐Ÿค Contribution

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Please read our Contributing Guidelines for more details.

Areas for Contribution

  • ๐Ÿ› Bug fixes
  • โœจ New features
  • ๐Ÿ“ Documentation improvements
  • ๐ŸŽจ UI/UX enhancements
  • ๐ŸŒ Translations
  • โ™ฟ Accessibility improvements

๐Ÿ“ Project Structure

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

๐Ÿ› Known Issues

  • Rate limiting may occur with rapid API calls (CoinGecko free tier limitation)
  • Some cryptocurrency logos may not load due to API response

๐Ÿ”ฎ Future Enhancements

  • 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

๐Ÿ“„ License

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

GNU GPLv3


๐Ÿ‘จโ€๐Ÿ’ป Author

Created with โค๏ธ by the Kripto team


๐Ÿ™ Acknowledgments

  • CoinGecko for providing the comprehensive cryptocurrency API
  • Heroicons for beautiful icons
  • All open-source contributors whose libraries made this project possible

๐Ÿ“ž Support

If you encounter any issues or have questions:


If you find this project useful, please consider giving it a โญ๏ธ!

Made with โค๏ธ using Kotlin and Android

About

Kripto is a modern Android application for tracking real-time cryptocurrency prices, market analytics, and exchange credibility. Built using Kotlin, MVVM, Hilt, Coroutines, Retrofit, and Room, it offers interactive charts, global market data, watchlist personalization, dark mode, and biometric etc

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Contributors