Getting Started

Struktur Direktori

Pengantar

Nylo Website menggunakan struktur direktori yang bersih dan terorganisir yang terinspirasi oleh Laravel. Struktur ini membantu menjaga konsistensi di seluruh proyek dan memudahkan pencarian file.

Direktori Root

nylo_app/
├── android/          # Android platform files
├── assets/           # Images, fonts, and other assets
├── ios/              # iOS platform files
├── lang/             # Language/translation JSON files
├── lib/              # Dart application code
├── test/             # Test files
├── .env              # Environment variables
├── pubspec.yaml      # Dependencies and project config
└── ...

Direktori lib

Folder lib/ berisi semua kode aplikasi Dart Anda:

lib/
├── app/              # Application logic
├── bootstrap/        # Boot configuration
├── config/           # Configuration files
├── resources/        # UI components
├── routes/           # Route definitions
└── main.dart         # Application entry point

app/

Direktori app/ berisi logika inti aplikasi Anda:

Direktori Tujuan
commands/ Perintah Metro CLI kustom
controllers/ Controller halaman untuk logika bisnis
events/ Kelas event untuk sistem event
forms/ Kelas form dengan validasi
models/ Kelas model data
networking/ Layanan API dan konfigurasi jaringan
networking/dio/interceptors/ Interceptor HTTP Dio
providers/ Provider layanan yang di-boot saat aplikasi dimulai
services/ Kelas layanan umum

bootstrap/

Direktori bootstrap/ berisi file yang mengkonfigurasi cara aplikasi Anda boot:

File Tujuan
boot.dart Konfigurasi urutan boot utama
decoders.dart Registrasi decoder model dan API
env.g.dart Konfigurasi environment terenkripsi yang dihasilkan
events.dart Registrasi event
extensions.dart Extension kustom
helpers.dart Fungsi helper kustom
providers.dart Registrasi provider
theme.dart Konfigurasi tema

config/

Direktori config/ berisi konfigurasi aplikasi:

File Tujuan
app.dart Pengaturan aplikasi inti
design.dart Desain aplikasi (font, logo, loader)
localization.dart Pengaturan bahasa dan locale
storage_keys.dart Definisi kunci penyimpanan lokal
toast_notification.dart Gaya notifikasi toast

resources/

Direktori resources/ berisi komponen UI:

Direktori Tujuan
pages/ Widget halaman (layar)
themes/ Definisi tema
themes/light/ Warna tema terang
themes/dark/ Warna tema gelap
widgets/ Komponen widget yang dapat digunakan kembali
widgets/buttons/ Widget tombol kustom
widgets/bottom_sheet_modals/ Widget modal bottom sheet

routes/

Direktori routes/ berisi konfigurasi routing:

File/Direktori Tujuan
router.dart Definisi rute
guards/ Kelas route guard

Direktori Assets

Direktori assets/ menyimpan file statis:

assets/
├── app_icon/         # App icon source
├── fonts/            # Custom fonts
└── images/           # Image assets

Mendaftarkan Assets

Assets didaftarkan di pubspec.yaml:

flutter:
  assets:
    - assets/fonts/
    - assets/images/
    - assets/app_icon/
    - lang/

Helper Aset

Nylo Website menyediakan helper untuk bekerja dengan aset.

Aset Gambar

// Standard Flutter way
Image.asset(
  'assets/images/logo.png',
  height: 50,
  width: 50,
)

// Using LocalAsset widget
LocalAsset.image(
  "logo.png",
  height: 50,
  width: 50,
)

Aset Umum

// Get any asset path
String fontPath = getAsset('fonts/custom.ttf');

// Video example
VideoPlayerController.asset(
  getAsset('videos/intro.mp4')
)

File Bahasa

File bahasa disimpan di lang/ di root proyek:

lang/
├── en.json           # English
├── es.json           # Spanish
├── fr.json           # French
└── ...

Lihat Lokalisasi untuk detail lebih lanjut.