This guide will help you set up the development environment and run the app.
- System Requirements
- Flutter Setup
- Project Setup
- AI Content Generation
- Running the App
- Troubleshooting
- macOS: 10.14 (Mojave) or later
- RAM: 8GB (16GB recommended)
- Disk Space: 10GB free space
- Xcode: 14.0 or later (for iOS development)
- Git
- Flutter SDK 3.0+
- Xcode 14+ with Command Line Tools
- CocoaPods
- VS Code or Android Studio (recommended IDEs)
Download and install Flutter from the official website:
# Download Flutter
cd ~/development
git clone https://github.com/flutter/flutter.git -b stable
# Add Flutter to PATH (add to ~/.zshrc or ~/.bash_profile)
export PATH="$PATH:`pwd`/flutter/bin"
# Verify installation
flutter doctor- Install Xcode from the App Store
- Install Xcode Command Line Tools:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -runFirstLaunch- Accept licenses:
sudo xcodebuild -license acceptsudo gem install cocoapodsflutter doctor -vAll checkmarks should be green. If not, follow the instructions provided.
git clone <repository-url>
cd learn-ai-data-science# Get Flutter packages
flutter pub get
# Install iOS pods
cd ios
pod install
cd ..The app uses code generation for Hive adapters and Riverpod:
flutter pub run build_runner build --delete-conflicting-outputsIf you encounter errors, try:
flutter pub run build_runner clean
flutter pub run build_runner build --delete-conflicting-outputsOpen ios/Runner.xcworkspace in Xcode and:
-
Update Bundle Identifier:
- Select Runner in Project Navigator
- Change Bundle Identifier to your unique ID
- Example:
com.yourname.learnaidatascience
-
Select Development Team:
- In Signing & Capabilities
- Select your Apple Developer account
-
Update App Name (optional):
- In Info.plist, modify
CFBundleDisplayName
- In Info.plist, modify
The app can generate educational content using local LLMs via Ollama.
Option A: Homebrew
brew install ollamaOption B: Direct Download Download from https://ollama.ai
ollama serveLeave this terminal window open while using the app.
In a new terminal:
# Recommended for balanced performance (3.2GB)
ollama pull llama3.2
# Alternative options:
ollama pull phi3 # Lighter model (2.3GB)
ollama pull mistral # Higher quality (4.1GB)# Test that Ollama is working
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt": "Explain Python lists in one sentence"
}'The app is pre-configured to connect to http://localhost:11434.
To change the model or URL, edit lib/services/ai_content_service.dart:
AIContentService({
this.baseUrl = 'http://localhost:11434',
this.model = 'llama3.2', // Change to your preferred model
});# List available simulators
flutter devices
# Run on default simulator
flutter run
# Run on specific simulator
flutter run -d "iPhone 14 Pro"- Connect your device via USB
- Trust the computer on your device
- In Xcode, select your device
- Run:
flutter run# Run with hot reload (recommended for development)
flutter run
# Run in profile mode (for performance testing)
flutter run --profile
# Run in release mode
flutter run --releaseWhile the app is running:
- Press
rto hot reload - Press
Rto hot restart - Press
qto quit
cd ios
pod deintegrate
pod install
cd ..
flutter clean
flutter pub get- Clean build folder: Product > Clean Build Folder (Cmd+Shift+K)
- Delete derived data:
rm -rf ~/Library/Developer/Xcode/DerivedData - Restart Xcode
- Open
ios/Runner.xcworkspacein Xcode - Select Runner target
- Go to Signing & Capabilities
- Select your Apple Developer account
flutter clean
flutter pub get
flutter pub run build_runner clean
flutter pub run build_runner build --delete-conflicting-outputs- Ensure Ollama is running:
ollama serve - Verify model is downloaded:
ollama list - Check logs for connection errors
- Try accessing:
http://localhost:11434/api/tags
sudo gem install cocoapods
pod setup# Reset simulator
xcrun simctl erase all
# Kill existing simulators
killall Simulator
# Try again
flutter runIf you encounter issues:
- Check Flutter doctor:
flutter doctor -v - Check iOS build:
flutter build ios --debug --verbose - View logs:
flutter logs - Clean project:
flutter clean && flutter pub get
For specific errors, search the Flutter GitHub issues or ask in the Flutter Community.
Once setup is complete:
- Run the app:
flutter run - Explore the onboarding flow
- Start learning with the first module
- Check out
DEVELOPMENT.mdfor development guidelines
Happy coding! 🚀
If you have questions, open an issue on GitHub or contact the maintainer.