Setup Guide
Development Setup
Section titled “Development Setup”This guide will walk you through setting up your development environment for Lumo.
Prerequisites
Section titled “Prerequisites”Required Software
Section titled “Required Software”-
Flutter SDK 3.8.1+
Terminal window # Check your Flutter versionflutter --version# If you need to upgradeflutter upgrade -
Dart SDK 3.0+ (included with Flutter)
-
IDE (choose one):
- Android Studio with Flutter plugin
- VS Code with Flutter and Dart extensions
- IntelliJ IDEA with Flutter plugin
-
Platform-specific tools:
- Android: Android Studio, Android SDK, Java 11+
- iOS: Xcode 14+, iOS 11+ (macOS only)
-
Additional tools:
- Git
- Firebase CLI (for cloud features)
- Node.js (for documentation and tooling)
Verify Installation
Section titled “Verify Installation”# Check Flutter installationflutter doctor
# Should show ✓ for all required componentsProject Setup
Section titled “Project Setup”1. Clone the Repository
Section titled “1. Clone the Repository”git clone <your-lumo-repository-url>cd lumo2. Install Dependencies
Section titled “2. Install Dependencies”# Get Flutter dependenciesflutter pub get
# Generate code (for Riverpod and other code generation)dart run build_runner build3. Firebase Configuration
Section titled “3. Firebase Configuration”Lumo uses Firebase for cloud backup and authentication. You’ll need to set up your own Firebase project.
Create Firebase Project
Section titled “Create Firebase Project”- Go to Firebase Console
- Create a new project
- Enable the following services:
- Authentication (Email/Password)
- Cloud Storage
- Firestore Database (optional)
Configure Android
Section titled “Configure Android”- Add an Android app to your Firebase project
- Use package name:
com.yourcompany.yourapp(change during rebranding) - Download
google-services.json - Place it in
android/app/google-services.json
Configure iOS
Section titled “Configure iOS”- Add an iOS app to your Firebase project
- Use bundle ID:
com.yourcompany.yourapp(change during rebranding) - Download
GoogleService-Info.plist - Add it to
ios/Runner/GoogleService-Info.plist
4. Platform Setup
Section titled “4. Platform Setup”Android Setup
Section titled “Android Setup”# Accept Android licensesflutter doctor --android-licenses
# Verify Android setupflutter doctorKey Android files to verify:
android/app/build.gradle.kts- Build configurationandroid/app/src/main/AndroidManifest.xml- Permissions and app configandroid/app/google-services.json- Firebase config
iOS Setup (macOS only)
Section titled “iOS Setup (macOS only)”# Install CocoaPodssudo gem install cocoapods
# Install iOS dependenciescd ios && pod install && cd ..
# Verify iOS setupflutter doctorKey iOS files to verify:
ios/Runner/Info.plist- App configuration and permissionsios/Runner/GoogleService-Info.plist- Firebase config
5. Environment Variables
Section titled “5. Environment Variables”Create environment configuration files:
.env (project root)
Section titled “.env (project root)”# Firebase configurationFIREBASE_PROJECT_ID=your-project-idFIREBASE_STORAGE_BUCKET=your-project-id.appspot.com
# App configurationAPP_NAME=LumoAPP_VERSION=1.0.0
# Development flagsDEBUG_MODE=trueENABLE_ANALYTICS=falseRunning the App
Section titled “Running the App”Development Mode
Section titled “Development Mode”# Run on connected device/emulatorflutter run
# Run with hot reloadflutter run --hot
# Run in debug mode with verbose loggingflutter run --debug --verbosePlatform-specific Commands
Section titled “Platform-specific Commands”# Android onlyflutter run -d android
# iOS only (macOS required)flutter run -d ios
# Specific deviceflutter devices # List available devicesflutter run -d <device-id>Build Verification
Section titled “Build Verification”Debug Builds
Section titled “Debug Builds”# Android APKflutter build apk --debug
# iOS (macOS only)flutter build ios --debugRelease Builds
Section titled “Release Builds”# Android APKflutter build apk --release
# Android App Bundle (for Play Store)flutter build appbundle --release
# iOS (macOS only)flutter build ios --releaseCommon Issues
Section titled “Common Issues”Flutter Doctor Issues
Section titled “Flutter Doctor Issues”Issue: Android licenses not accepted
# Solutionflutter doctor --android-licensesIssue: Xcode not configured
# Solutionsudo xcode-select --switch /Applications/Xcode.app/Contents/Developersudo xcodebuild -runFirstLaunchBuild Issues
Section titled “Build Issues”Issue: Build runner conflicts
# Solutionflutter packages pub run build_runner cleandart run build_runner build --delete-conflicting-outputsIssue: Pod install fails (iOS)
# Solutioncd iosrm -rf Pods Podfile.lockpod install --repo-updatecd ..Firebase Issues
Section titled “Firebase Issues”Issue: Google services not found
- Verify
google-services.jsonis inandroid/app/ - Verify
GoogleService-Info.plistis inios/Runner/ - Ensure bundle IDs match Firebase configuration
IDE Configuration
Section titled “IDE Configuration”VS Code
Section titled “VS Code”Recommended extensions:
- Flutter
- Dart
- GitLens
- Error Lens
- Flutter Intl
Android Studio
Section titled “Android Studio”Recommended plugins:
- Flutter
- Dart
- GitToolBox
- Rainbow Brackets
Next Steps
Section titled “Next Steps”Once your environment is set up:
- Project Structure - Understand the codebase
- Rebranding Overview - Start customizing
- Development Guide - Learn the development workflow
Troubleshooting
Section titled “Troubleshooting”If you encounter issues:
- Run
flutter doctorto check your setup - Check the common issues section above
- Verify all dependencies are correctly installed
- Ensure Firebase is properly configured
- Check that your IDE has the necessary plugins installed
Your development environment should now be ready! 🎉