# Struktur Folder

<figure><img src="https://1306500375-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkZ9coTLwpOfJ9B2QbRI6%2Fuploads%2F165pnp4TQREmfCAxVTWp%2FCode_2023-05-14_10-53-33.png?alt=media&#x26;token=f71c5afd-7d75-4236-b01b-b6aabade0648" alt=""><figcaption></figcaption></figure>

Struktur folder *backend* tentu berbeda dengan yang ada di *frontend*. Aplikasi *backend* memiliki struktur file dan folder tersendiri seperti pada gambar diatas. Folder `controllers` berisikan logika pemrograman atau bagian yang mengontrol alur dari program, sementara folder `email_templates` berisikan template dari email yang digunakan sistem, contohnya untuk verifikasi email, reset password, dll. Folder `mailers` berisikan file konfigurasi untuk mengatur pengiriman email. `Middlewares` berisikan file penengah antara `routes` dan juga `controllers`.

Folder `models` merupakan folder yang berisikan file konfigurasi database. Sementara untuk folder `public` berisikan file statik yang berhasil diupload melalui sistem, contohnya gambar pada berita ataupun file pada fitur dataset. Folder `routes` berisikan file konfigurasi untuk mengatur url atau endpoint pada *backend* sehingga dapat diakses melalui *frontend* ataupun web browser.&#x20;

Di folder `utils` terdapat beberapa file pendukung untuk menunjang kinerja *backend*. Folder terakhir yaitu `validations` berisikan file untuk mengatur validasi dari inputan pengguna sebelum data tersebut dimasukkan ke dalam database melalui `models`.
