Skip to main content

Overview

Softbee is a cross-platform Flutter application that runs on Android, iOS, Web, Windows, macOS, and Linux. This guide covers installation and setup for all supported platforms.
Requirements:
  • Flutter SDK 3.10.7 or higher
  • Dart SDK (included with Flutter)
  • Platform-specific development tools

Quick setup

Get Softbee running on your development machine in minutes.
1

Clone the repository

Clone the Softbee repository from GitHub:
git clone https://github.com/SoffiaSanchezz/Softbee-App.git
cd Softbee
2

Configure environment variables

Create a .env file in the project root directory with your API credentials:
.env
# Copy from .env.example
API_BASE_URL=https://your-api-endpoint.com
API_KEY=your_api_key_here
Never commit your .env file to version control. It’s already included in .gitignore.
3

Install dependencies

Install all required Flutter packages:
flutter pub get
The project uses the following key dependencies:
  • flutter_riverpod: ^2.6.1 - State management
  • go_router: ^17.0.1 - Navigation and routing
  • dio: ^5.3.3 - HTTP client for API requests
  • shared_preferences: ^2.2.2 - Local data persistence
  • flutter_secure_storage: ^10.0.0 - Secure credential storage
  • lottie: ^2.7.0 - Smooth animations
  • google_fonts: ^8.0.0 - Custom typography
4

Generate code (if applicable)

If the project has code generation requirements, run:
dart run build_runner build --delete-conflicting-outputs

Platform-specific installation

Android Setup

1

Install Android Studio

  1. Download and install Android Studio
  2. Open Android Studio and install the Android SDK
  3. Configure the Android SDK path in Flutter:
flutter doctor --android-licenses
2

Set up an emulator or device

Option A: Use an Android emulator
  1. Open Android Studio
  2. Go to Tools > Device Manager
  3. Click Create Device
  4. Select a device definition (e.g., Pixel 5)
  5. Download and select a system image (API 30+)
  6. Click Finish to create the emulator
Option B: Use a physical device
  1. Enable Developer Options on your Android device
  2. Enable USB Debugging
  3. Connect your device via USB
  4. Run flutter devices to verify connection
3

Run the app

Launch Softbee on Android:
flutter run
# Or specify the device
flutter run -d <device-id>
Use flutter run --release for a production build with better performance.

Build APK

To create an installable APK:
flutter build apk --release
The APK will be located at build/app/outputs/flutter-apk/app-release.apk.

Build App Bundle

For Google Play Store submission:
flutter build appbundle --release

Development workflow

Project structure

Softbee follows Clean Architecture principles:
lib/
├── core/                  # Global configuration and utilities
│   ├── error/            # Error handling and exceptions
│   ├── network/          # Dio HTTP client setup
│   ├── router/           # GoRouter navigation configuration
│   ├── theme/            # App colors, fonts, and styles
│   └── widgets/          # Shared UI components
├── feature/              # Feature modules (Screaming Architecture)
│   ├── auth/            # Authentication and user management
│   │   ├── core/        # Domain entities and use cases
│   │   ├── data/        # Repositories and data sources
│   │   └── presentation/# UI pages, widgets, and state
│   ├── apiaries/        # Apiary management
│   ├── beehive/         # Beehive tracking
│   ├── monitoring/      # Production monitoring
│   └── inventory/       # Equipment and supplies
└── main.dart            # Application entry point

Running tests

# Run all tests
flutter test

# Run with coverage
flutter test --coverage

# Run specific test file
flutter test test/feature/auth/login_test.dart

Code quality

# Analyze code
flutter analyze

# Format code
dart format .

# Check for outdated packages
flutter pub outdated

Troubleshooting

Run flutter doctor -v to see detailed diagnostic information:
flutter doctor -v
Common fixes:
  • Android licenses: Run flutter doctor --android-licenses
  • Xcode: Update to the latest version from App Store
  • CocoaPods: Run sudo gem install cocoapods
Clean and reinstall dependencies:
flutter clean
flutter pub get
For iOS specifically:
cd ios
rm -rf Pods Podfile.lock
pod install
cd ..
Restart the development server:
# Press 'r' in terminal for hot reload
# Press 'R' for hot restart
# Press 'q' to quit
If issues persist, stop and restart:
flutter run
Check for missing environment variables:
  1. Verify .env file exists and contains required values
  2. Ensure API endpoints are accessible
  3. Check device/emulator logs:
# Android
adb logcat

# iOS
xcrun simctl spawn booted log stream

Verify installation

After installation, verify everything works:
1

Check Flutter setup

flutter doctor
All checkmarks should be green. ✓
2

List available devices

flutter devices
You should see your connected devices or emulators.
3

Run the app

flutter run
The app should launch successfully and show the Softbee login screen.
Next steps: Head over to the Quickstart Guide to create your first apiary and beehives, or explore the API Reference for development documentation.

Platform requirements summary

PlatformMinimum VersionDevelopment OS
AndroidAPI 21 (Lollipop 5.0)Windows, macOS, Linux
iOSiOS 11.0macOS only
WebModern browsers (Chrome, Safari, Firefox, Edge)Any
WindowsWindows 10+Windows
macOSmacOS 10.14+macOS
LinuxUbuntu 20.04+, Fedora 35+Linux
For the best development experience, use the latest stable version of Flutter. Check flutter.dev for updates.

Build docs developers (and LLMs) love