mirror of
https://github.com/twentyhq/twenty.git
synced 2024-12-23 20:13:21 +03:00
82 lines
2.4 KiB
Markdown
82 lines
2.4 KiB
Markdown
# Twenty
|
|
|
|
Welcome to Twenty documentation!
|
|
|
|
## High Level Overview
|
|
|
|
Twenty development stack is composed of 3 different layers
|
|
- front: our frontend React app
|
|
- server: our backend that contain endpoint, crm logic, scripts, jobs...
|
|
- storages: postgres
|
|
|
|
## Setup env variables
|
|
|
|
1. `cp ./infra/dev/.front.env.example ./front/.env` and fill with values
|
|
|
|
## Development environment setup with npm (Not recommended)
|
|
|
|
This is the easiest way to get started contributing to twenty
|
|
Make sure you have `node@18` installed on your machine. You can use `nvm` to manage your nvm versions in case you have projects that require different node versions.
|
|
|
|
`npm run install-dev`
|
|
`npm run front`
|
|
|
|
You'll need to provide your own postgres storage.
|
|
|
|
Once this is completed you should have:
|
|
- front available on: http://localhost:3001
|
|
- server available on: http://localhost:3000/health
|
|
|
|
|
|
## Development environment setup with docker-compose (Recommended)
|
|
|
|
We also provide a containerized environment with Docker and orchestrated with docker-compose in case it is easier for you. This install will also provision a postgres container out of the box.
|
|
|
|
### Step 1: pre-requesites
|
|
Make sure to have the latest Docker and Docker-compose versions installed on your computer. You can run `docker-compose --version` to check if you have docker-compose installed and `docker --version` to check if you have docker installed.
|
|
|
|
### Step 2: docker build
|
|
Build docker containers.
|
|
|
|
The whole setup experience is happening in `infra/dev` folder. Make sure to be in this folder:
|
|
```
|
|
cd infra/dev
|
|
```
|
|
|
|
```
|
|
docker-compose up --build --force-recreate
|
|
```
|
|
|
|
Once this is completed you should have:
|
|
- front available on: http://localhost:3001
|
|
- server available on: http://localhost:3000/health
|
|
- postgres: available on http://localhost:5432 that should contain `twenty` database
|
|
|
|
### Step 3: IDE setup
|
|
|
|
If you are using VSCode, please use the `Dev Containers` extension to open the project in a container. This will allow you to run Visual Studio on top of the docker container. This will allow you to run the project without having to install node on your machine.
|
|
|
|
### Note
|
|
|
|
If you are using Docker install, make sure to ssh in the docker container during development to execute commands. You can also use `Makefile` to help you
|
|
|
|
## Development
|
|
|
|
### Tests
|
|
|
|
#### Unit tests:
|
|
|
|
```
|
|
make front-test
|
|
# coverage
|
|
make front-coverage
|
|
```
|
|
|
|
#### Storybook:
|
|
```
|
|
make front-storybook
|
|
```
|
|
|
|
## Developping on server
|
|
|
|
Section TBD |