packages/twenty-docs/developers/contribute/capabilities/backend-development/server-commands.mdx
These commands should be executed from packages/twenty-server folder.
From any other folder you can run npx nx {command} twenty-server (or npx nx run twenty-server:{command}).
npx nx database:reset twenty-server # setup the database with dev seeds
npx nx run twenty-server:start
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
Note: you can run npx nx run twenty-server:test:integration:with-db-reset in case you need to reset the database before running the integration tests.
If you want to reset and seed the database, you can run the following command:
npx nx run twenty-server:database:reset
npx nx run twenty-server:database:migrate:generate
Twenty primarily uses NestJS for the backend.
Prisma was the first ORM we used. But in order to allow users to create custom fields and custom objects, a lower-level made more sense as we need to have fine-grained control. The project now uses TypeORM.
Here's what the tech stack now looks like.
Core
Database
Third-party integrations
Testing
Tooling
Development