Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Fabric Apps-projecten gebruiken een consistente mapindeling, zodat u snel gegevensmodellen, back-endconfiguratie en front-endcode kunt vinden. In dit artikel worden de bestanden en mappen uitgelegd waarmee u waarschijnlijk kunt werken nadat u een project hebt gemaakt.
Mapindeling
Wanneer u een nieuw Fabric Apps-project maakt, genereert de sjabloon de volgende structuur:
your-project/
├── rayfin/
│ ├── data/
│ │ ├── schema.ts
│ │ └── *.ts
│ ├── .env
│ ├── rayfin.yml
│ └── tsconfig.json
├── src/
├── package.json
├── tsconfig.json
└── README.md
Sleutelconfiguratiebestanden
rayfin/rayfin.yml
Het bestand rayfin/rayfin.yml is het hoofdconfiguratiebestand voor uw back-end van Fabric Apps. Het bepaalt welke services worden uitgevoerd tijdens lokale ontwikkeling en ondersteunt omgevingsvariabele interpolatie voor dynamische configuratiewaarden.
Volledig voorbeeld:
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
De configuratie bevat de volgende sleutelvelden:
Velden op het hoogste niveau
| Veld | Type | Required | Beschrijving |
|---|---|---|---|
id |
string |
Ja | Projectslug wordt gebruikt als de Docker Compose-projectnaam en de Fabric-item-id. |
name |
string |
Ja | Leesbare weergavenaam van het project. |
version |
string |
Ja | Project versie (semver). |
services |
object |
Ja | Blok voor serviceconfiguratie. |
services.data
| Veld | Type | Verstek | Beschrijving |
|---|---|---|---|
enabled |
boolean |
false |
Schakel de gegevensservice in. |
services.auth
| Veld | Type | Verstek | Beschrijving |
|---|---|---|---|
enabled |
boolean |
false |
Schakel de verificatieservice in. |
expiryInMinutes |
number |
— | Vervaltijd van JWT-token in minuten. |
customClaims |
Record<string, string> |
— | Aangepaste claims toegevoegd aan uitgegeven JWT's. |
scopes |
string[] |
— | OAuth-bereiken (bijvoorbeeld ["read:data", "write:data"]). |
refreshToken.lifetimeInDays |
number |
— | Levensduur van het vernieuwingstoken in dagen. |
allowedRedirectUris |
string[] |
["http://localhost:5173"] |
Toegestane omleidings-URI's voor callbacks voor verificatie. |
services.auth.password
| Veld | Type | Verstek | Beschrijving |
|---|---|---|---|
enabled |
boolean |
true |
E-mail- en wachtwoordverificatie inschakelen voor lokale ontwikkeling |
services.auth.fabric
| Veld | Type | Verstek | Beschrijving |
|---|---|---|---|
enabled |
boolean |
false |
Schakel Fabric brokered authentication (Microsoft Entra ID SSO) in. |
services.staticHosting
| Veld | Type | Verstek | Beschrijving |
|---|---|---|---|
enabled |
boolean |
false |
Schakel hosting van statische inhoud in. |
root |
string |
— | Hoofdmap van het frontendproject (relatief aan de hoofdmap van het project). |
folder |
string |
"dist" |
Map met gegenereerde statische assets (ten opzichte van root). |
buildCommand |
string |
— | Shell-opdracht die moet worden uitgevoerd voordat ze worden verpakt (bijvoorbeeld npm run build). |
indexDocument |
string |
— | Standaarddocument dat wordt geleverd voor het hoofdpad (bijvoorbeeld index.html). |
Tip
Alle tekenreekswaarden ondersteunen omgevingsvariabeleinterpolatie met ${VAR} en ${VAR:-default} syntaxis. Variabelen worden opgelost uit rayfin/.env en de shell-omgeving.
rayfin/.env
Het rayfin/.env bestand is een optioneel omgevingsbestand dat wordt gebruikt voor het leveren van waarden via rayfin.yml interpolatie. Voer geen geheimen door naar uw opslagplaats. Maak in plaats daarvan een rayfin/.env.example bestand voor documentatiedoeleinden en voeg dit toe .env aan uw .gitignore bestand.
rayfin/tsconfig.json
Het bestand rayfin/tsconfig.json is een typeScript-configuratie met projectverwijzingen die wordt gebruikt door de CLI van Fabric Apps om uw entiteitsdefinities te compileren. Het breidt uw basis-tsconfig.json uit en overschrijft de instellingen die Fabric Apps vereist, zoals composite: true en Node.js-module-resolutie. U hoeft dit bestand niet rechtstreeks te bewerken.
Gegevensmodelbestanden
rayfin/data/*.ts
Bestanden in de rayfin/data/ map definiëren uw entiteiten. Entiteiten zijn TypeScript-klassen voorzien van @entity() en velddecorators zoals @uuid() en @text(). Elk entiteitsbestand exporteert een klasse die een gegevensmodel in uw toepassing vertegenwoordigt.
rayfin/data/schema.ts
Het rayfin/data/schema.ts bestand wijst entiteitsnamen toe aan hun klassen. De Rayfin SDK-client gebruikt deze mapping om typeveilige toegang tot entiteiten te bieden via client.data.<Entity>. Wanneer u een nieuwe entiteit toevoegt, moet u deze registreren in dit schemabestand.
Gegenereerde artefacten
rayfin/.temp/
De rayfin/.temp/ map bevat gegenereerde backend-artefacten die worden aangemaakt wanneer u de ontwikkelserver uitvoert. Als de back-end verouderde schema's of configuraties lijkt te gebruiken, moet u de ontwikkelstack stoppen en opnieuw starten om deze bestanden opnieuw te genereren.
Important
Voer de .temp/ map niet door naar uw opslagplaats. Voeg het toe aan uw .gitignore bestand.
Front-endstructuur
De src/ map bevat de code van uw front-endtoepassing. De exacte structuur is afhankelijk van de sjabloon die u hebt gekozen bij het maken van uw project, zoals React of Vue.
Fabric Apps-sjablonen gebruiken de volgende omgevingsvariabelen voor Vite voor front-endconfiguratie:
-
VITE_RAYFIN_API_URL– Basis-URL die de frontend naar de Fabric Apps-backend verwijst. Stel deze omgevingsvariabele in voordat unpm run devuitvoert om de standaardwaarde te overschrijven. -
VITE_RAYFIN_PUBLISHABLE_KEY– Publiceerbare sleutel die wordt gebruikt voor clientverificatie. -
VITE_FABRIC_ITEM_ID– Fabric item-id ingesteld doorrayfin up. Geschreven naar.env.fabric-<workspacename>(en.env.fabric) tijdens de implementatie. Wordt gebruikt voor Fabric brokered verificatie. -
VITE_FABRIC_WORKSPACE_ID– Fabric werkruimte-id ingesteld doorrayfin up. Geschreven naastVITE_FABRIC_ITEM_IDtijdens de implementatie.