Fabric Apps -projektin rakenne

Fabric Apps -projektit käyttävät yhtenäistä kansioasettelua, joten löydät nopeasti datamalleja, taustakonfiguraatiota ja frontend-koodia. Tässä artikkelissa selitetään, mitkä tiedostot ja kansiot todennäköisesti työskentelet projektin luomisen jälkeen.

Kansion asettelu

Kun luot uuden Fabric Apps -projektin, pohja luo seuraavan rakenteen:

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

Avainkonfiguraatiotiedostot

Rayfin/rayfin.yml

rayfin/rayfin.yml-tiedosto on pääasiallinen konfiguraatiotiedosto Fabric sovellusten taustajärjestelmälle. Se ohjaa, mitkä palvelut toimivat paikallisen kehityksen aikana ja tukee ympäristömuuttujien interpolointia dynaamisille konfiguraatioarvoille.

Täydellinen esimerkki:

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

Konfiguraatio sisältää seuraavat keskeiset kentät:

Huipputason kentät

kenttä Tyyppi Pakollinen Description
id string Yes Project-slug, jota käytetään Docker Compose -project-nimenä ja Fabric-kohteen tunnisteena.
name string Yes Ihmisen luettava projektin näyttönimi.
version string Yes Project-versio (semver).
services object Yes Palvelun konfiguraatiolohko.

services.data

kenttä Tyyppi Oletus Description
enabled boolean false Ota datapalvelu käyttöön.

services.auth

kenttä Tyyppi Oletus Description
enabled boolean false Ota käyttöön todennuspalvelu.
expiryInMinutes number JWT-tokenin vanheneminen minuuteissa.
customClaims Record<string, string> Mukautetut vaatimukset lisättiin myönnettyihin JWT-malleihin.
scopes string[] OAuth-kaukoputket (esimerkiksi, ["read:data", "write:data"]).
refreshToken.lifetimeInDays number Päivitä tokenin elinikä päivissä.
allowedRedirectUris string[] ["http://localhost:5173"] Sallittu uudelleenohjaus URI:t autentikointikutsuja varten.

services.auth.password

kenttä Tyyppi Oletus Description
enabled boolean true Ota käyttöön sähköposti- ja salasanatunnistus paikallista kehitystä varten

services.auth.fabric

kenttä Tyyppi Oletus Description
enabled boolean false Ota käyttöön Fabric-välittäjän tunnistautuminen (Microsoft Entra ID SSO).

services.staticHosting

kenttä Tyyppi Oletus Description
enabled boolean false Ota staattisen sisällön isännöinti käyttöön.
root string Frontend-projektin juurihakemisto (suhteessa projektin juureen).
folder string "dist" Hakemisto, joka sisältää rakennettuja staattisia assetteja (suhteessa ).root
buildCommand string Shell-komento ajaa ennen pakkausta (esim. npm run build).
indexDocument string Oletusdokumentti, joka palvellaan juuripolulle (esim. index.html).

Vinkki

Kaikki merkkijonoarvot tukevat ympäristömuuttujien interpolointia ja ${VAR}${VAR:-default} syntaksia. Muuttujat ratkaistaan kuoren rayfin/.env ympäristöstä.

rayfin/.env

Tiedosto rayfin/.env on valinnainen ympäristötiedosto, jota käytetään arvojen toimittamiseen rayfin.yml interpoloinnin kautta. Älä siirrä salaisuuksia tietovarastoosi. Sen sijaan luo tiedosto rayfin/.env.example dokumentointia varten ja lisää .env se tiedostoosi .gitignore .

Rayfin/tsconfig.json

rayfin/tsconfig.json-tiedosto on projektiviite-TypeScript-konfiguraatio, jota Fabric Apps CLI käyttää entiteettimääritelmien kääntämiseen. Se laajentaa root-tasoasi tsconfig.json ja ohittaa Fabric Appsin tarvitsemat asetukset, kuten composite: true ja Node.js-moduulin resoluution. Sinun ei pitäisi joutua muokkaamaan tätä tiedostoa suoraan.

Tietomallitiedostot

rayfin/data/*.ts

Kansion tiedostot määrittelevät rayfin/data/ entiteettisi. Entiteetit ovat TypeScript-luokkia, jotka on koristeltu plus @entity() kenttäkoristeilla kuten @uuid() ja @text(). Jokainen entiteettitiedosto vie luokan, joka edustaa datamallia sovelluksessasi.

rayfin/data/schema.ts

Tiedosto rayfin/data/schema.ts yhdistää entiteettien nimet niiden luokkiin. Rayfin SDK -asiakasohjelma käyttää tätä karttaa tarjotakseen tyyppiturvallisen pääsyn entiteetteihin kautta client.data.<Entity>. Kun lisäät uuden yksikön, sinun täytyy rekisteröidä se tähän skeematiedostoon.

Luodut artefaktit

rayfin/.temp/

Kansio rayfin/.temp/ sisältää generoituja taustaartefakteja, jotka syntyvät, kun ajat kehityspalvelinta. Jos taustajärjestelmä näyttää käyttävän vanhentunutta skeemaa tai konfiguraatiota, pysäytä ja käynnistä kehittäjäpino uudelleen, jotta nämä tiedostot voidaan generoida uudelleen.

Important

Älä sitoo .temp/ kansiota repositorioosi. Lisää se tiedostoosi .gitignore .

Edustarakenne

Kansio src/ sisältää käyttöliittymäsovelluskoodisi. Tarkka rakenne riippuu siitä, minkä mallipohjan valitsit projektia tehdessäsi, kuten React tai Vue.

Fabric Apps -mallipohjat käyttävät seuraavia Vite-ympäristömuuttujia frontend-konfigurointiin:

  • VITE_RAYFIN_API_URL – Perus-URL, joka osoittaa frontendin Fabric Appsin taustajärjestelmään. Aseta tämä ympäristömuuttuja ennen suorittamista npm run dev ohittamaan oletus.
  • VITE_RAYFIN_PUBLISHABLE_KEY – Julkaistava avain, jota käytetään asiakkaan tunnistautumiseen.
  • VITE_FABRIC_ITEM_ID – Fabric tuotetunniste, jonka määrittää rayfin up. Kirjoitettu .env.fabric-<workspacename> (ja .env.fabric) komennuksen aikana. Käytetään Fabric-välittäjän tunnistautumiseen.
  • VITE_FABRIC_WORKSPACE_ID – Fabric työtilan ID, jonka määrittää rayfin up. Kirjoitettu rinnakkain VITE_FABRIC_ITEM_ID komennuksen aikana.