Prologue
Ini hanyalah starter kit yang saya buat untuk diri saya sendiri. Dimana saya sering mengerjakan project Flutter
dengan backend Laravel
, karena itulah saya membuat ini untuk membantu saya dalam membuat aplikasi flutter dengan mudah tanpa harus setup banyak hal.
π‘ Idea Saya ingin membawa fitur bagus pada laravel ke dalam flutter.
Catatanβ
- Saya masih bingung dimana saya harus meletakan middleware pada flutter, soalnya bisa dibuat pada
go_route
,bloc
. - Saya masih bingung juga dimana saya harus meletakan
exception
karena API ada beberapaexception
yang perlu di handle. - Saya masih bingung membuat
Validation Rules
yang tepat untukForm
, karena saya inginnya beberapa validasi dijalankan disisi client terlebih dahulu sebelum dikirim ke server (walaupun server pasti ada validasi juga), ini supaya kita tidak membebani server. - Saya masih bingung membuat api yang sesuai untuk
Policy/Gate
alias authorization yang bagus.
Packageβ
-
Environment Variable
flutter_dotenv
-
State Management
flutter_bloc
provider
-
Dependency Injection
get_it
orinjectable
-
Navigation Router
go_router
-
Utility/Tools/Helper
freezed_annotation json_annotation
build_runner freezed json_serializableβ --dev
rxdart
- `fpdartβ
path
connectivity_plus
logger
-
Internationalization
intl
-
Image
image_cropper
image_picker
cached_network_image
-
Local Storage
Untuk data yang bentuknya masa lampau bisa disimpan pada local storage karena tidak akan pernah berubah.shared_preferences
flutter_secure_storage
-
HTTP Client
http
dio
-
File
path_provider
file_picker
open_file
-
UI Widget
flutter_form_builder
form_builder_validator
form_builder_extra_fields
salomon_bottom_bar
-
Unique ID (Optional)
ulid
Struktur Directoryβ
lib/
βββ core/
β βββ constants/
β βββ enums/
β βββ errors/
β βββ extensions/
β βββ utils/
β βββ config/
β βββ lang/
βββ data/
β βββ datasources/
β β βββ local/
β β βββ remote/
β βββ models/
β βββ repositories/
β βββ exceptions/
βββ domain/
β βββ entities/
β βββ repositories/
β βββ usecases/
β βββ exceptions/
βββ presentation/
β βββ blocs/
β βββ pages/
β β βββ auth/
β β βββ home/
β β βββ errors/
β βββ widgets/
β βββ router/
βββ main.dart