Files
twenty/packages/twenty-docs/l/he/developers/backend-development/folder-architecture-server.mdx
T
8cadd00d34 i18n - translations (#15799)
Created by Github action

---------

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: github-actions <github-actions@twenty.com>
2025-11-13 16:34:00 +01:00

131 lines
4.6 KiB
Plaintext

---
title: ארכיטקטורת תיקיות
info: מבט מעמיק על ארכיטקטורת תיקיות השרת שלנו
image: /images/user-guide/fields/field.png
---
<Frame>
<img src="/images/user-guide/fields/field.png" alt="Header" />
</Frame>
מבנה ספריית ה-backend הוא כמתואר להלן:
```
server
└───ability
└───constants
└───core
└───database
└───decorators
└───filters
└───guards
└───health
└───integrations
└───metadata
└───workspace
└───utils
```
## יכולת
מגדיר הרשאות ומכיל מטפלים עבור כל ישות.
## קישוטים
מגדיר קישוטים מותאמים אישית ב-NestJS לשיפור פונקציונאליות.
ראה [קישוטים מותאמים אישית](https://docs.nestjs.com/custom-decorators) למידע נוסף.
## מסננים
Includes exception filters to handle exceptions that might occur in GraphQL endpoints.
## שומרים
ראה [שומרים](https://docs.nestjs.com/guards) למידע נוסף.
## בריאות
כולל ממשק API REST שזמין לציבור (healthz) שמחזיר JSON לאישור האם מסד הנתונים פועל כראוי.
## מטה-נתונים
מגדיר אובייקטים מותאמים אישית ומספק API של GraphQL (graphql/metadata).
## סביבת עבודה
מייצר ומספק סכמות GraphQL מותאמות אישית בהתבסס על המטא נתונים.
### מבנה ספריית מרחב העבודה
```
workspace
└───workspace-schema-builder
└───factories
└───graphql-types
└───database
└───interfaces
└───object-definitions
└───services
└───storage
└───utils
└───workspace-resolver-builder
└───factories
└───interfaces
└───workspace-query-builder
└───factories
└───interfaces
└───workspace-query-runner
└───interfaces
└───utils
└───workspace-datasource
└───workspace-manager
└───workspace-migration-runner
└───utils
└───workspace.module.ts
└───workspace.factory.spec.ts
└───workspace.factory.ts
```
השורש של ספריית מרחב העבודה כולל את `workspace.factory.ts`, קובץ שמכיל את הפונקציה `createGraphQLSchema`. פונקציה זו מייצרת סכמות ייחודיות למרחב עבודה על ידי שימוש במטא נתונים להתאמה אישית של סכמה עבור כל מרחב עבודה. על ידי הפרדת יצירת הסכמות והפותר, אנו משתמשים בפונקציה `makeExecutableSchema`, שמאחדת אלמנטים נפרדים אלה.
אסטרטגיה זו אינה רק עבור ארגון, אלא גם תורמת לאופטימיזציה, כגון קאש על הגדרות סוגים שנוצרו כדי לשפר ביצועים וסקלאביליות.
### בונה סכמות מרחב עבודה
מייצר את סכמת ה-GraphQL, וכולל:
#### מפעלים:
קונסטרוקציות מותמחות ליצירת מבני GraphQL קשורים.
- factory.type מתרגם מטא נתוני שדות לסוגי GraphQL באמצעות `TypeMapperService`.
- factory.type-definition יוצר אובייקטי קלט או פלט של GraphQL מתוך `objectMetadata`.
#### סוגי GraphQL
כולל אנומרציות, קלטים, אובייקטים, וסקלרים, ומשרת כתשתית לבניית סכמות.
#### ממשקים והגדרות אובייקטים
מכיל תוכניות עבור ישויות GraphQL, וכולל גם סוגים מראש וגם סוגים מותאמים אישית כגון `MONEY` או `URL`.
#### שירותים
Contains the service responsible for associating FieldMetadataType with its appropriate GraphQL scalar or query modifiers.
#### אחסון
כולל את המחלקה `TypeDefinitionsStorage` שמכילה הגדרות סוגים לשימוש חוזר, המונעת שכפול סוגי GraphQL.
### בונה פותר מרחב עבודה
מייצר פונקציות פותר לשאילתות ועדכונים של סכמת ה-GraphQL.
כל מפעל במאגר זה אחראי לייצר סוג פותר ייחודי, כמו `FindManyResolverFactory`, המעוצב ליישום אדפטיבי על פני טבלאות שונות.
### Workspace Query Runner
מריץ את השאלות שנוצרו על מסד הנתונים ומפרש את התוצאה.