Skip to content

LineLeap/mobile-single-build-poc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mobile Single Build POC

Overview

This repository contains a proof of concept for implementing a single build multi-environment strategy for LineLeap's mobile applications.

Linear Issue: MOB-2240

Objective

Research and demonstrate the feasibility of using a single mobile app build across multiple environments (local, dev, staging, prod) with runtime configuration injection.

Key Areas of Investigation

1. Runtime Environment Injection

  • Explore methods to inject environment configuration at runtime rather than build time
  • Investigate secure storage and retrieval of environment-specific settings

2. Configuration Approaches

  • dart-define: Build-time constants with runtime overrides
  • Environment Variables: System-level configuration
  • Remote Configuration: Fetching config from a secure endpoint
  • Local Configuration Files: JSON/YAML files for development

3. Security Considerations

  • API key protection strategies
  • Certificate pinning approaches
  • Secure storage for sensitive data
  • Environment detection and validation

Project Structure

mobile-single-build-poc/
├── lib/
│   ├── config/          # Environment configuration
│   ├── services/        # Service layer with environment-aware implementations
│   └── main.dart        # App entry point
├── ios/                 # iOS platform code
├── android/            # Android platform code
└── test/               # Tests

Success Criteria

  • Single APK/IPA can connect to different environments
  • Secure handling of environment-specific secrets
  • Clear documentation of implementation approach
  • Performance impact assessment
  • Security implications documented
  • Team approval on chosen approach

Getting Started

Prerequisites

  • Flutter SDK
  • Xcode (for iOS development)
  • Android Studio (for Android development)

Installation

flutter pub get

Running the POC

# Default (production-like)
flutter run

# With environment override
flutter run --dart-define=ENV=dev

# Local development
flutter run --dart-define=ENV=local

Contributors

  • Juan Carlos Ramón Condezo
  • Zach Brady

License

Proprietary - LineLeap

About

POC for single build multi-environment strategy for mobile apps (MOB-2240)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published