--- title: Frontend Commando's image: /images/user-guide/create-workspace/workspace-cover.png --- Header ## Nuttige commando's ### De app starten ```bash npx nx start twenty-front ``` ### Regenerate graphql schema based on API graphql schema ```bash npx nx run twenty-front:graphql:generate --configuration=metadata ``` OF ```bash npx nx run twenty-front:graphql:generate ``` ### Lint ```bash npx nx run twenty-front:lint # pass --fix to fix lint errors ``` ## Vertalingen ```bash npx nx run twenty-front:lingui:extract npx nx run twenty-front:lingui:compile ``` ### Test ```bash npx nx run twenty-front:test # run jest tests npx nx run twenty-front:storybook:serve:dev # run storybook npx nx run twenty-front:storybook:test # run tests # (needs yarn storybook:serve:dev to be running) npx nx run twenty-front:storybook:coverage # (needs yarn storybook:serve:dev to be running) ``` ## Technologische stack Het project heeft een schone en eenvoudige stack, met minimale boilerplate-code. **App** - [React](https://react.dev/) - [Apollo](https://www.apollographql.com/docs/) - [GraphQL Codegen](https://the-guild.dev/graphql/codegen) - [Recoil](https://recoiljs.org/docs/introduction/core-concepts) - [TypeScript](https://www.typescriptlang.org/) **Testen** - [Jest](https://jestjs.io/) - [Storybook](https://storybook.js.org/) **Tools** - [Yarn](https://yarnpkg.com/) - [Craco](https://craco.js.org/docs/) - [ESLint](https://eslint.org/) ## Architectuur ### Routering [React Router](https://reactrouter.com/) verzorgt de routing. Om onnodige [her-renders](/l/nl/developers/frontend-development/best-practices-front#managing-re-renders) te vermijden, zit alle routing logica in een `useEffect` in `PageChangeEffect`. ### State Management [Recoil](https://recoiljs.org/docs/introduction/core-concepts) verzorgt state management. Zie [beste praktijken](/l/nl/developers/frontend-development/best-practices-front#state-management) voor meer informatie over state management. ## Testen [Jest](https://jestjs.io/) dient als het hulpmiddel voor unit testing terwijl [Storybook](https://storybook.js.org/) voor component testing is. Jest is voornamelijk bedoeld voor het testen van hulpprogramma's en niet de componenten zelf. Storybook is voor het testen van het gedrag van geïsoleerde componenten, evenals het weergeven van het ontwerp systeem.