A Flutter web application for decision-making through a digital roulette wheel. Users can add items to the roulette, spin the wheel, and share their lists via URL.
- Flutter SDK 3.8.0 or higher
- Chrome or another web browser for testing
-
Install dependencies:
flutter pub get
-
Generate required code:
flutter packages pub run build_runner build --delete-conflicting-outputs
-
Run the application:
flutter run -d chrome # or for web server flutter run -d web-server --web-port 8080
This project uses automatic code generation for:
- Freezed models (
*.freezed.dart) - Immutable data classes - JSON serialization (
*.g.dart) - JSON serialization/deserialization - Localization (
app_localizations*.dart) - Internationalization files
- Generated files are not committed to version control
- Code generation runs automatically during CI/CD builds
- You must run code generation locally after changes to annotated files
Run code generation when you modify files containing:
@freezedannotations@JsonSerializableannotations- Localization files (
*.arb)
# Generate code (development)
flutter packages pub run build_runner build --delete-conflicting-outputs
# Clean and regenerate (if needed)
flutter packages pub run build_runner clean
flutter packages pub run build_runner build --delete-conflicting-outputs
# Watch mode (regenerates on file changes)
flutter packages pub run build_runner watchThe build process includes:
- Install dependencies:
flutter pub get - Generate code:
flutter packages pub run build_runner build --delete-conflicting-outputs - Build application:
flutter build web --release
This ensures all generated files are up-to-date and the build is reproducible.
All workflows automatically include code generation:
- Analysis workflow - Generates code before running
flutter analyze - Test workflow - Generates code before running
flutter test - Build/Deploy workflow - Generates code before building for production
This was all vibe coded, please don't judge code quality D: