Skip to content

Android Technical Stack

Garot Conklin edited this page Dec 15, 2024 · 1 revision

Android Technical Stack

Core Technologies

Language & Platform

  • Primary Language: Kotlin 1.9+
  • Build System: Gradle 8.0+
  • Minimum SDK: API 26 (Android 8.0)
  • Target SDK: API 34 (Android 14)
  • Compile SDK: API 34

UI Framework

  • Jetpack Compose: Primary UI toolkit
  • Material Design 3: Design system and components
  • Accompanist: Compose UI utilities
  • Navigation Compose: In-app navigation

Architecture Components

  • ViewModel: UI state management
  • LiveData/Flow: Observable data holder patterns
  • Room: Local database persistence
  • WorkManager: Background task scheduling
  • DataStore: Key-value pair storage
  • Hilt: Dependency injection

Data Layer

Local Storage

  • Room Database: Primary local storage
  • DataStore: User preferences
  • WorkManager: Data synchronization

Network

  • Retrofit: HTTP client
  • OkHttp: Network interceptors
  • Kotlin Serialization: JSON parsing
  • AWS Amplify: Cloud services integration

Location Services

  • Google Maps SDK: Map visualization
  • Location Services: User location tracking
  • Geofencing: Location-based notifications

Testing Framework

Unit Testing

  • JUnit 5: Testing framework
  • Mockk: Mocking framework
  • Turbine: Flow testing
  • Truth: Assertions library

UI Testing

  • Compose Testing: UI component testing
  • Espresso: UI automation
  • Screenshot Testing: Visual regression

Integration Testing

  • Hilt Testing: DI testing
  • MockWebServer: Network testing
  • Room Testing: Database testing

Development Tools

IDE

  • Android Studio: Primary IDE
  • Gradle: Build automation
  • Android Debug Bridge (ADB): Device debugging

Code Quality

  • ktlint: Kotlin linter
  • Detekt: Static code analysis
  • Android Lint: Android-specific linting

Version Control

  • Git: Source control
  • GitHub: Repository hosting
  • GitHub Actions: CI/CD

Third-Party Libraries

Analytics & Monitoring

  • Firebase Analytics: Usage tracking
  • Crashlytics: Crash reporting
  • Performance Monitoring: App performance

Social Integration

  • AWS Cognito: Authentication
  • Google Sign-In: Social auth
  • Facebook Login: Social auth

Calendar Integration

  • Android Calendar Provider: Calendar operations
  • Google Calendar API: Calendar sync

Build & Release

CI/CD Pipeline

  • GitHub Actions: Automated builds
  • Firebase App Distribution: Beta distribution
  • Google Play Console: Production releases

Code Signing

  • Gradle Signing Config: App signing
  • Google Play App Signing: Release management

Security

  • AWS Amplify Auth: Authentication/Authorization
  • Android Security Crypto: Data encryption
  • Network Security Config: SSL pinning
  • ProGuard/R8: Code obfuscation

Performance Optimization

  • Baseline Profiles: App startup optimization
  • Compose Compiler Metrics: UI performance
  • Memory Profiler: Memory optimization
  • CPU Profiler: Performance monitoring

RunOn Documentation

MVP Documentation

Core Documentation

Archived (Full-Featured)

Full-Featured Documentation

Clone this wiki locally