Δομή έργου Fabric Apps

Τα έργα εφαρμογών Fabric χρησιμοποιούν μια συνεπή διάταξη φακέλων, ώστε να μπορείτε να βρείτε γρήγορα μοντέλα δεδομένων, ρύθμιση παραμέτρων παρασκηνίου και κώδικα προσκηνίου. Αυτό το άρθρο εξηγεί τα αρχεία και τους φακέλους με τους οποίους είναι πιθανότερο να εργαστείτε μετά τη δημιουργία ενός έργου.

Διάταξη φακέλου

Όταν δημιουργείτε ένα νέο έργο Fabric Apps, το πρότυπο δημιουργεί την ακόλουθη δομή:

your-project/
├── rayfin/
│   ├── data/
│   │   ├── schema.ts
│   │   └── *.ts
│   ├── .env
│   ├── rayfin.yml
│   └── tsconfig.json
├── src/
├── package.json
├── tsconfig.json
└── README.md

Βασικά αρχεία διαμόρφωσης

Rayfin/rayfin.yml

Το αρχείο rayfin/rayfin.yml είναι το κύριο αρχείο διαμόρφωσης για το backend των εφαρμογών Fabric. Ελέγχει ποιες υπηρεσίες εκτελούνται κατά τη διάρκεια της τοπικής ανάπτυξης και υποστηρίζει παρεμβολή μεταβλητών περιβάλλοντος για δυναμικές τιμές διαμόρφωσης.

Πλήρες παράδειγμα:

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

Η διαμόρφωση περιλαμβάνει αυτά τα βασικά πεδία:

Πεδία ανώτατου επιπέδου

Πεδίο Δακτυλογραφώ Υποχρεωτικό Περιγραφή
id string Ναι Project slug που χρησιμοποιείται ως όνομα project Docker Compose και αναγνωριστικό στοιχείου Fabric.
name string Ναι Εμφανιζόμενο όνομα έργου αναγνώσιμο από τον άνθρωπο.
version string Ναι Project version (semver).
services object Ναι Μπλοκ διαμόρφωσης υπηρεσίας.

services.data

Πεδίο Δακτυλογραφώ Προεπιλεγμένος Περιγραφή
enabled boolean false Ενεργοποιήστε την υπηρεσία δεδομένων.

services.auth

Πεδίο Δακτυλογραφώ Προεπιλεγμένος Περιγραφή
enabled boolean false Ενεργοποιήστε την υπηρεσία ελέγχου ταυτότητας.
expiryInMinutes number Λήξη διακριτικού JWT σε λίγα λεπτά.
customClaims Record<string, string> Προστέθηκαν προσαρμοσμένες αξιώσεις σε εκδοθέντα JWT.
scopes string[] Πεδία OAuth (για παράδειγμα, ["read:data", "write:data"]).
refreshToken.lifetimeInDays number Ανανεώστε τη διάρκεια ζωής του διακριτικού σε ημέρες.
allowedRedirectUris string[] ["http://localhost:5173"] Επιτρέπονται URI ανακατεύθυνσης για επανακλήσεις ελέγχου ταυτότητας.

services.auth.password

Πεδίο Δακτυλογραφώ Προεπιλεγμένος Περιγραφή
enabled boolean true Ενεργοποιήστε τον έλεγχο ταυτότητας email και κωδικού πρόσβασης για τοπική ανάπτυξη

services.auth.fabric

Πεδίο Δακτυλογραφώ Προεπιλεγμένος Περιγραφή
enabled boolean false Ενεργοποιήστε τον έλεγχο ταυτότητας με μεσολάβηση Fabric (Microsoft Entra ID SSO).

services.staticHosting

Πεδίο Δακτυλογραφώ Προεπιλεγμένος Περιγραφή
enabled boolean false Ενεργοποιήστε τη φιλοξενία στατικού περιεχομένου.
root string Ριζικός κατάλογος του έργου frontend (σε σχέση με τη ρίζα του έργου).
folder string "dist" Κατάλογος που περιέχει δομημένα στατικά στοιχεία (σε σχέση με rootτο ).
buildCommand string Shell για εκτέλεση πριν από τη συσκευασία (για παράδειγμα, npm run build).
indexDocument string Προεπιλεγμένο έγγραφο που εξυπηρετείται για τη διαδρομή ρίζας (για παράδειγμα, index.html).

Συμβουλή

Όλες οι τιμές συμβολοσειράς υποστηρίζουν παρεμβολή μεταβλητών περιβάλλοντος με ${VAR} και ${VAR:-default} σύνταξη. Οι μεταβλητές επιλύονται από rayfin/.env και το περιβάλλον του κελύφους.

rayfin/.env

Το rayfin/.env αρχείο είναι ένα προαιρετικό αρχείο περιβάλλοντος που χρησιμοποιείται για την παροχή τιμών μέσω rayfin.yml παρεμβολής. Μην δεσμεύετε μυστικά στο αποθετήριο σας. Αντίθετα, δημιουργήστε ένα rayfin/.env.example αρχείο για λόγους τεκμηρίωσης και προσθέστε .env το στο αρχείο σας .gitignore .

Rayfin/tsconfig.json

Το αρχείο rayfin/tsconfig.json είναι μια διαμόρφωση TypeScript αναφοράς έργου που χρησιμοποιείται από το CLI εφαρμογών Fabric για τη μεταγλώττιση των ορισμών της οντότητάς σας. Επεκτείνει το root tsconfig.json και παρακάμπτει τις ρυθμίσεις που χρειάζονται οι εφαρμογές Fabric, όπως composite: true και Node.js ανάλυση μονάδας. Δεν χρειάζεται να επεξεργαστείτε αυτό το αρχείο απευθείας.

Αρχεία μοντέλου δεδομένων

rayfin/δεδομένα/*.ts

Τα αρχεία στον φάκελο καθορίζουν τις rayfin/data/ οντότητές σας. Οι οντότητες είναι κλάσεις TypeScript διακοσμημένες με @entity() συν διακοσμητές πεδίων όπως @uuid() και @text(). Κάθε αρχείο οντότητας εξάγει μια κλάση που αντιπροσωπεύει ένα μοντέλο δεδομένων στην εφαρμογή σας.

rayfin/δεδομένα/schema.ts

Το rayfin/data/schema.ts αρχείο αντιστοιχίζει ονόματα οντοτήτων στις κλάσεις τους. Το πρόγραμμα-πελάτης Rayfin SDK χρησιμοποιεί αυτήν την αντιστοίχιση για να παρέχει πρόσβαση με ασφάλεια τύπου σε οντότητες μέσω client.data.<Entity>. Όταν προσθέτετε μια νέα οντότητα, πρέπει να την καταχωρήσετε σε αυτό το αρχείο σχήματος.

Δημιουργημένα αντικείμενα

rayfin/.temp/

Ο rayfin/.temp/ φάκελος περιέχει δημιουργημένα τεχνουργήματα παρασκηνίου που δημιουργούνται κατά την εκτέλεση του διακομιστή ανάπτυξης. Εάν το backend φαίνεται να χρησιμοποιεί παλιό σχήμα ή διαμόρφωση, σταματήστε και επανεκκινήστε τη στοίβα προγραμματιστών για να δημιουργήσετε ξανά αυτά τα αρχεία.

Σημαντικό

Μην δεσμεύετε το .temp/ φάκελο στο αποθετήριο σας. Προσθέστε το στο αρχείο σας .gitignore .

Δομή προσκηνίου

Ο src/ φάκελος περιέχει τον κωδικό της εφαρμογής frontend. Η ακριβής δομή εξαρτάται από το πρότυπο που επιλέξατε κατά τη δημιουργία του έργου σας, όπως το React ή το Vue.

Τα πρότυπα εφαρμογών Fabric χρησιμοποιούν τις ακόλουθες μεταβλητές περιβάλλοντος Vite για τη ρύθμιση παραμέτρων του frontend:

  • VITE_RAYFIN_API_URL – Βασική διεύθυνση URL που δείχνει το προσκήνιο στο παρασκήνιο Fabric εφαρμογών. Ορίστε αυτήν τη μεταβλητή περιβάλλοντος πριν από την εκτέλεση npm run dev για να παρακάμψετε την προεπιλογή.
  • VITE_RAYFIN_PUBLISHABLE_KEY – Δημοσιεύσιμο κλειδί που χρησιμοποιείται για τον έλεγχο ταυτότητας πελάτη.
  • VITE_FABRIC_ITEM_ID – Fabric αναγνωριστικό στοιχείου που ορίζεται από το rayfin up. Γράφτηκε σε .env.fabric-<workspacename> (και .env.fabric) κατά τη διάρκεια της ανάπτυξης. Χρησιμοποιείται για έλεγχο ταυτότητας με μεσολάβηση Fabric.
  • VITE_FABRIC_WORKSPACE_ID – Fabric αναγνωριστικό χώρου εργασίας που ορίζεται από το rayfin up. Γράφτηκε παράλληλα VITE_FABRIC_ITEM_ID κατά τη διάρκεια της ανάπτυξης.