A Flutter mobile application for live streaming food preparation and cooking experiences.
- 📱 Live Streaming: Real-time video streaming using WebRTC technology
- 🍔 Food Focus: Specialized for food and cooking content
- 👥 Host & Viewer Modes: Create streams or join existing ones
- 🔐 User Authentication: Secure login system
- 📊 Stream Management: Room creation and joining functionality
- Framework: Flutter 3.16+ with Dart 3.0+
- Streaming: WebRTC via
flutter_webrtcandlivekit_client - Backend: Socket.IO for signaling
- Platforms: Android (API 21+) & iOS
- Architecture: Modern Android (API 35) with Java 17
- Flutter 3.16 or higher
- Android Studio with Android SDK 35
- Xcode (for iOS development)
# Clone the repository
git clone <your-repo-url>
cd foodstream/mobile
# Install dependencies
flutter pub get
# Run on Android
flutter run
# Build release APK
flutter build apk --release- Real-time chat during streams
- Stream recording and playback
- User profiles and favorites
- Stream discovery and search
- Docker
- Docker Compose
- Make (optional, but recommended)
-
Clone the repository
git clone <your-repo-url> cd foodstream-mobile
-
Start development environment
make setup # or manually: # docker-compose build # docker-compose up -d
-
Enter the development container
make shell # or manually: # docker-compose exec flutter-dev bash
-
Verify Flutter installation
flutter doctor
Run make help to see all available commands:
make build- Build Docker imagemake run- Start development environmentmake shell- Open shell in containermake android-debug- Build Android debug APKmake android-release- Build Android release APKmake web-serve- Serve web app at http://localhost:3000make test- Run testsmake docs- Generate documentationmake clean- Clean Docker resources
- Start the environment:
make run - Enter the container:
make shell - Make your changes in your local editor
- Build/test inside the container:
make android-debug
The Docker setup provides a consistent Linux environment for Flutter development, regardless of your host OS.
The container includes Android SDK and tools. APK files will be available in your local build/ directory.
- Permission issues: Make sure Docker has access to your project directory
- Port conflicts: Change ports in
docker-compose.ymlif needed - Build failures: Run
make cleanandmake buildto rebuild from scratch
This app uses:
- SignalingService for WebRTC connection management
- LiveStreamPage for streaming interface
- Modern Android configuration with ProGuard optimization
- Responsive UI with Material Design 3
For help getting started with Flutter development, view the online documentation.