Skip to content

Setup Guide

This guide will walk you through setting up your development environment for Lumo.

  1. Flutter SDK 3.8.1+

    Terminal window
    # Check your Flutter version
    flutter --version
    # If you need to upgrade
    flutter upgrade
  2. Dart SDK 3.0+ (included with Flutter)

  3. IDE (choose one):

    • Android Studio with Flutter plugin
    • VS Code with Flutter and Dart extensions
    • IntelliJ IDEA with Flutter plugin
  4. Platform-specific tools:

    • Android: Android Studio, Android SDK, Java 11+
    • iOS: Xcode 14+, iOS 11+ (macOS only)
  5. Additional tools:

    • Git
    • Firebase CLI (for cloud features)
    • Node.js (for documentation and tooling)
Terminal window
# Check Flutter installation
flutter doctor
# Should show ✓ for all required components
Terminal window
git clone <your-lumo-repository-url>
cd lumo
Terminal window
# Get Flutter dependencies
flutter pub get
# Generate code (for Riverpod and other code generation)
dart run build_runner build

Lumo uses Firebase for cloud backup and authentication. You’ll need to set up your own Firebase project.

  1. Go to Firebase Console
  2. Create a new project
  3. Enable the following services:
    • Authentication (Email/Password)
    • Cloud Storage
    • Firestore Database (optional)
  1. Add an Android app to your Firebase project
  2. Use package name: com.yourcompany.yourapp (change during rebranding)
  3. Download google-services.json
  4. Place it in android/app/google-services.json
  1. Add an iOS app to your Firebase project
  2. Use bundle ID: com.yourcompany.yourapp (change during rebranding)
  3. Download GoogleService-Info.plist
  4. Add it to ios/Runner/GoogleService-Info.plist
Terminal window
# Accept Android licenses
flutter doctor --android-licenses
# Verify Android setup
flutter doctor

Key Android files to verify:

  • android/app/build.gradle.kts - Build configuration
  • android/app/src/main/AndroidManifest.xml - Permissions and app config
  • android/app/google-services.json - Firebase config
Terminal window
# Install CocoaPods
sudo gem install cocoapods
# Install iOS dependencies
cd ios && pod install && cd ..
# Verify iOS setup
flutter doctor

Key iOS files to verify:

  • ios/Runner/Info.plist - App configuration and permissions
  • ios/Runner/GoogleService-Info.plist - Firebase config

Create environment configuration files:

# Firebase configuration
FIREBASE_PROJECT_ID=your-project-id
FIREBASE_STORAGE_BUCKET=your-project-id.appspot.com
# App configuration
APP_NAME=Lumo
APP_VERSION=1.0.0
# Development flags
DEBUG_MODE=true
ENABLE_ANALYTICS=false
Terminal window
# Run on connected device/emulator
flutter run
# Run with hot reload
flutter run --hot
# Run in debug mode with verbose logging
flutter run --debug --verbose
Terminal window
# Android only
flutter run -d android
# iOS only (macOS required)
flutter run -d ios
# Specific device
flutter devices # List available devices
flutter run -d <device-id>
Terminal window
# Android APK
flutter build apk --debug
# iOS (macOS only)
flutter build ios --debug
Terminal window
# Android APK
flutter build apk --release
# Android App Bundle (for Play Store)
flutter build appbundle --release
# iOS (macOS only)
flutter build ios --release

Issue: Android licenses not accepted

Terminal window
# Solution
flutter doctor --android-licenses

Issue: Xcode not configured

Terminal window
# Solution
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -runFirstLaunch

Issue: Build runner conflicts

Terminal window
# Solution
flutter packages pub run build_runner clean
dart run build_runner build --delete-conflicting-outputs

Issue: Pod install fails (iOS)

Terminal window
# Solution
cd ios
rm -rf Pods Podfile.lock
pod install --repo-update
cd ..

Issue: Google services not found

  • Verify google-services.json is in android/app/
  • Verify GoogleService-Info.plist is in ios/Runner/
  • Ensure bundle IDs match Firebase configuration

Recommended extensions:

  • Flutter
  • Dart
  • GitLens
  • Error Lens
  • Flutter Intl

Recommended plugins:

  • Flutter
  • Dart
  • GitToolBox
  • Rainbow Brackets

Once your environment is set up:

  1. Project Structure - Understand the codebase
  2. Rebranding Overview - Start customizing
  3. Development Guide - Learn the development workflow

If you encounter issues:

  1. Run flutter doctor to check your setup
  2. Check the common issues section above
  3. Verify all dependencies are correctly installed
  4. Ensure Firebase is properly configured
  5. Check that your IDE has the necessary plugins installed

Your development environment should now be ready! 🎉