# Struktur Direktori
Struktur direktori harus mengikuti aturan seperti dibawah ini:
├── assets
│ ├── icons
│ ├── images
│ └── colors
├── lib
│ ├── application
│ ├── common
│ │ ├── urls
│ │ ├── exceptions
│ │ ├── enums
│ │ ├── functions
│ │ └── keys
│ │ └── api
│ │ ├── di
│ │ └── network
│ ├── domain
│ │ ├── core
│ ├── infrastructure
│ ├── presentation
│ │ ├── components
│ │ │ ├── alerts
│ │ │ ├── dialogs
│ │ │ ├── styles
│ │ ├── pages
│ │ ├── routes
│ ├── analysis_options.yaml
│ ├── env.dart
│ ├── injection.config.dart (generated file)
│ ├── injection.dart
│ └── main.dart
# assets
folder yang menampung asset folder lainnya. Seperti icons, image, colors dsb.
# icons
berisi file icons.
# images
berisi image atau gambar.
# colors
berisi file code warna.
# lib
merupakan folder utama yang diperlukan untuk membuat flutter app.
# application
berisi logic. Tempat untuk menyimpan bloc disini
# common
berisi kumpulan constants variable (biasanya).
# urls
berisi constants variable untuk path url.
# exceptions
berisi constants exceptions.
# enum
berisi enum.
# functions
berisi functions.
# keys
berisi constants shared preferences
# api
berisi api client.
# errors
berisi api error.
# interceptors
berisi api interceptors.
# api_client.dart
file ini merupakan client sebagai akses api.
# di
berisi kumpulan dependencies injection.
# network
berisi logic connection.
# domain
berisi domains.
# core
berisi inti boundary-logic domain.
# errors.dart
file ini berisi logic error domain.
# exceptions.dart
file ini berisi exceptions error app.
# failures.dart
file ini berisi failures domain.
# value_objects.dart
file ini merupakan inti dari domain.
# value_validators.dart
file ini merupakan validators untuk value object domain.
# infrastructure
berisi repository dan dto.
# presentation
berisi UI app.
# components
berisi components UI
# alerts
berisi UI alerts
# dialogs
berisi UI dialogs
# styles
berisi konfigurasi style app.
# pages
berisi kumpulan pages
# app_widget.dart
file ini merupakan widget UI utama.
# routes
berisi route pages.
# app_route.dart
file ini merupakan inisialisasi route pages.
# analysis_options.yaml
file ini merupakan lint konfigurasi supaya kode lebih rapi.
# env.dart
file ini merupakan inisialisasi variable environment app.
# injection.dart
file ini merupakan inisialisasi konfigurasi injection.
# main.dart
file ini merupakan file utama.