Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fabric Proyek aplikasi menggunakan tata letak folder yang konsisten sehingga Anda dapat dengan cepat menemukan model data, konfigurasi backend, dan kode frontend. Artikel ini menjelaskan berkas dan folder yang kemungkinan besar akan paling sering Anda gunakan setelah Anda membuat proyek.
Tata letak folder
Saat Anda membuat proyek Fabric Apps baru, templat menghasilkan struktur berikut:
your-project/
├── rayfin/
│ ├── data/
│ │ ├── schema.ts
│ │ └── *.ts
│ ├── .env
│ ├── rayfin.yml
│ └── tsconfig.json
├── src/
├── package.json
├── tsconfig.json
└── README.md
File konfigurasi kunci
rayfin/rayfin.yml
File rayfin/rayfin.yml adalah file konfigurasi utama untuk backend Fabric Apps Anda. Ini mengontrol layanan mana yang berjalan selama pengembangan lokal dan mendukung interpolasi variabel lingkungan untuk nilai konfigurasi dinamis.
Contoh lengkap:
id: my-app
name: my-app
version: 1.0.0
services:
auth:
enabled: true
expiryInMinutes: 60
refreshToken:
lifetimeInDays: 30
customClaims:
tenant: "default"
scopes:
- read:data
- write:data
allowedRedirectUris:
- http://localhost:5173
- http://localhost:5173/auth/callback
password:
enabled: true
fabric:
enabled: false
passwordless:
magicLink:
enabled: false
expiryMinutes: 15
smsOtp:
enabled: false
email:
enabled: false
provider: smtp
senderName: Rayfin Platform
verificationTokenExpirationHours: 24
passwordResetTokenExpirationMinutes: 30
smtp:
host: maildev
port: 1025
senderEmail: noreply@rayfin.local
username: ""
password: ""
useSsl: false
useStartTls: false
webPort: 1080
data:
enabled: true
dialect: mssql
storage:
enabled: false
staticHosting:
enabled: true
root: .
folder: dist
buildCommand: npm run build
indexDocument: index.html
Konfigurasi mencakup bidang kunci ini:
Bidang tingkat atas
| Ladang | Tipe | Required | Deskripsi |
|---|---|---|---|
id |
string |
Yes | Slug proyek yang digunakan sebagai nama proyek Docker Compose dan pengidentifikasi item Fabric. |
name |
string |
Yes | Nama tampilan proyek yang dapat dibaca manusia. |
version |
string |
Yes | Versi proyek (semver). |
services |
object |
Yes | Blok konfigurasi layanan. |
services.data
| Ladang | Tipe | Default | Deskripsi |
|---|---|---|---|
enabled |
boolean |
false |
Aktifkan layanan data. |
services.auth
| Ladang | Tipe | Default | Deskripsi |
|---|---|---|---|
enabled |
boolean |
false |
Aktifkan layanan autentikasi. |
expiryInMinutes |
number |
— | Token JWT kedaluwarsa dalam hitung menit. |
customClaims |
Record<string, string> |
— | Klaim kustom ditambahkan pada JWT yang dikeluarkan. |
scopes |
string[] |
— | Cakupan akses OAuth (misalnya, ["read:data", "write:data"]). |
refreshToken.lifetimeInDays |
number |
— | Refresh masa pakai token dalam hari. |
allowedRedirectUris |
string[] |
["http://localhost:5173"] |
URI pengalihan yang diizinkan untuk panggilan balik autentikasi. |
services.auth.password
| Ladang | Tipe | Default | Deskripsi |
|---|---|---|---|
enabled |
boolean |
true |
Mengaktifkan autentikasi email dan kata sandi untuk pengembangan lokal |
services.auth.fabric
| Ladang | Tipe | Default | Deskripsi |
|---|---|---|---|
enabled |
boolean |
false |
Aktifkan autentikasi terperantara Fabric (SSO Microsoft Entra ID). |
services.staticHosting
| Ladang | Tipe | Default | Deskripsi |
|---|---|---|---|
enabled |
boolean |
false |
Aktifkan penghostingan konten statis. |
root |
string |
— | Direktori akar proyek frontend (relatif terhadap akar proyek). |
folder |
string |
"dist" |
Direktori yang berisi aset statis bawaan (relatif terhadap root). |
buildCommand |
string |
— | Perintah shell untuk dijalankan sebelum pengemasan (misalnya, npm run build). |
indexDocument |
string |
— | Dokumen default disajikan untuk jalur akar (misalnya, index.html). |
Tip
Semua nilai string mendukung interpolasi variabel lingkungan dengan ${VAR} sintaks dan ${VAR:-default} . Variabel ditentukan dari rayfin/.env dan lingkungan shell.
rayfin/.env
File rayfin/.env adalah file lingkungan opsional yang digunakan untuk menyediakan nilai rayfin.yml melalui interpolasi. Jangan menerapkan rahasia ke repositori Anda. Sebagai gantinya, buat rayfin/.env.example file untuk tujuan dokumentasi dan tambahkan .env ke file Anda .gitignore .
rayfin/tsconfig.json
File rayfin/tsconfig.json adalah konfigurasi TypeScript referensi proyek yang digunakan oleh Fabric Apps CLI untuk mengkompilasi definisi entitas Anda. Ini memperluas tsconfig.json root Anda dan mengambil alih pengaturan yang dibutuhkan aplikasi Fabric, seperti composite: true dan resolusi modul Node.js. Anda tidak perlu mengedit file ini secara langsung.
File model data
rayfin/data/*.ts
File dalam rayfin/data/ folder menentukan entitas Anda. Entitas adalah kelas TypeScript yang diberi dekorator @entity() serta dekorator untuk field seperti @uuid() dan @text(). Setiap file entitas mengekspor kelas yang mewakili model data di aplikasi Anda.
rayfin/data/schema.ts
File rayfin/data/schema.ts ini memetakan nama entitas ke kelasnya. Klien Rayfin SDK menggunakan peta ini untuk menyediakan akses aman jenis ke entitas melalui client.data.<Entity>. Saat menambahkan entitas baru, Anda harus mendaftarkannya dalam file skema ini.
Artefak yang dihasilkan
rayfin/.temp/
Folder rayfin/.temp/ berisi artefak backend yang dibuat saat Anda menjalankan server pengembangan. Jika backend tampaknya menggunakan skema atau konfigurasi kedaluarsa, hentikan dan mulai ulang tumpukan dev untuk meregenerasi file-file ini.
Important
Jangan commit folder .temp/ ke repositori Anda. Tambahkan itu ke dalam file Anda .gitignore.
Struktur frontend
Folder src/ berisi kode aplikasi frontend Anda. Struktur yang tepat tergantung pada templat mana yang Anda pilih saat membuat proyek Anda, seperti React atau Vue.
templat Fabric Apps menggunakan variabel lingkungan Vite berikut untuk konfigurasi frontend:
-
VITE_RAYFIN_API_URL– URL Dasar yang mengarahkan frontend ke backend aplikasi Fabric. Atur variabel lingkungan ini sebelum menjalankannpm run devuntuk mengganti setelan bawaan. -
VITE_RAYFIN_PUBLISHABLE_KEY– Kunci yang dapat diterbitkan digunakan untuk autentikasi klien. -
VITE_FABRIC_ITEM_ID– ID item Fabric yang ditetapkan olehrayfin up. Ditulis ke.env.fabric-<workspacename>(dan.env.fabric) selama proses deployment. Digunakan untuk autentikasi yang dimediasi oleh broker Fabric. -
VITE_FABRIC_WORKSPACE_ID– ID ruang kerja Fabric yang ditetapkan olehrayfin up. Ditulis bersamaVITE_FABRIC_ITEM_IDselama penerapan.