---
title: الأوامر الخلفية
icon: terminal
---

## الأوامر المفيدة

يجب تنفيذ هذه الأوامر من مجلد packages/twenty-server.
من أي مجلد آخر يمكنك تشغيل `npx nx {command} twenty-server` (أو `npx nx run twenty-server:{command}`).

### إعداد المرة الأولى

```
npx nx database:reset twenty-server # setup the database with dev seeds
```

### بدء الخادم

```
npx nx run twenty-server:start
```

### Lint

```
npx nx run twenty-server:lint # pass --fix to fix lint errors
```

### تجربة

```
npx nx run twenty-server:test:unit          # run unit tests
npx nx run twenty-server:test:integration   # run integration tests
```

ملاحظة: يمكنك تشغيل `npx nx run twenty-server:test:integration:with-db-reset` في حالة احتياجك لإعادة تعيين قاعدة البيانات قبل تشغيل اختبارات التكامل.

### إعادة تعيين قاعدة البيانات

إذا أردت إعادة تعيين قاعدة البيانات وزرع بعض البيانات فيها، يمكنك تشغيل الأمر التالي:

```bash
npx nx run twenty-server:database:reset
```

### عمليات الترحيل

#### للكائنات داخل مخططات Core/Metadata (TypeORM)

```bash
npx nx run twenty-server:database:migrate:generate
```

## "التقنية المستخدمة"

تستخدم Twenty بشكل أساسي NestJS للواجهة الخلفية.

Prisma كان أول ORM استخدمناه. ولكن للسماح للمستخدمين بإنشاء الحقول والعناصر المخصصة، كان من المنطقي استخدام مستوى أقل حيث نحتاج إلى تحكم دقيق. الآن يستخدم المشروع TypeORM.

إليك شكل العناصر التقنية الآن.

**النواة**

* [NestJS](https://nestjs.com/)
* [TypeORM](https://typeorm.io/)
* [GraphQL Yoga](https://the-guild.dev/graphql/yoga-server)

**قاعدة البيانات**

* [Postgres](https://www.postgresql.org/)

**التكاملات مع جهات خارجية**

* [Sentry](https://sentry.io/welcome/) لتتبع الأخطاء

**الاختبار**

* [Jest](https://jestjs.io/)

**الأدوات**

* [Yarn](https://yarnpkg.com/)
* [Oxlint](https://oxc.rs/docs/guide/usage/linter.html)

**التطوير**

* [AWS EKS](https://aws.amazon.com/eks/)
