Welcome FlutterKaigi 2023 official application repository!
See Figma for the design of the FlutterKaigi 2023 official application. We use GitHub Issues for task management. Please do not contact core members individually, but use Issues and Discussions.
This project uses Flutter beta channel. Therefore, please install Flutter beta channel. There is 2 way to use flutter beta channel.
- Switch flutter channel.
- Install Flutter beta channel with fvm.
flutter channel beta
flutter upgrade
- Install fvm.
- Move to project root directory, and run
fvm install
command. - Run
fvm flutter pub get
command. - Set up IDE to use fvm.
- If you use VSCode, already set up.
- If you use Android Studio, please see fvm document.
We always welcome all contributions! See CONTRIBUTING.md for more information.
For Japanese, please see CONTRIBUTING.ja.md.
- Flutter
- State management
- Data object
- Navigation
- M3 (Material Design 3)
The application design is based on riverpod pub example. Create Provider, FutureProvider, Notifier and AsyncNotifier to create a lightweight model layer.
Since this will be a small application, a layer-first project structure will be used.
- lib
- gen
- l10n
- model
- ui
- router
- screen
- util
- extension
- web
https://dart.dev/tools/pub/dependencies
As a policy, only major versions are set. Minor and patch version are specified as 0, unless a problem occurs. As an example, the version specification for google_fonts is as follows.
google_fonts: ^5.0.0
PRs that modify only the pubspec.lock file without code modification will not be merged. The core members will take care of this.
Introduce flutter_lints and adopt flutter's standard style.
https://docs.flutter.dev/release/breaking-changes/flutter-lints-package
The rules to be specially added are as follows.
- prefer_single_quotes
- always_use_package_imports
- require_trailing_commas
- avoid_void_async
- unawaited_futures
Thank you for contributing!