Update docs, remove password strong regex, hide tasks (#755)

* Update docs, remove password strong regex, hide tasks

* Update docs
This commit is contained in:
Charles Bochet
2023-07-19 09:45:31 -07:00
committed by GitHub
parent ce3e023a00
commit ca5191169f
26 changed files with 54 additions and 58 deletions
+4
View File
@@ -0,0 +1,4 @@
{
"label": "Developer guide",
"position": 2
}
+19
View File
@@ -0,0 +1,19 @@
---
sidebar_custom_props:
icon: TbVocabulary
---
# Glossary
### Workspace
A `Workspace` usually represents a company using Twenty.
It's attached to a single domain name, which is usually the domain name you company uses for your employee email addresses.
### Company & People
They are the two fundamental types of records that the CRM is built around.
A `Company` represents a business or an organization. `People` represents an individual you are doing business with or would like to do business with.
### Pipelines
A `Pipeline` is a way to track a business process.
`Pipeline`s are categorized within a module and have stages:
- A module is the business characterizations of your process (e.g. sales, recruiting).
- Stages maps the steps in your process (e.g. new, ongoing, won, lost)
+179
View File
@@ -0,0 +1,179 @@
---
sidebar_position: 0
sidebar_custom_props:
icon: TbArrowBigRight
---
# Local Setup
This section will guide you through the Twenty installation on your local environment.
Twenty is designed to be developer-friendly, and your local installation should be up and running in a few minutes.
In a nutshell:
- We recommend using `yarn` installation but we also provide an easy way to provide the project with Docker.
- Twenty uses PostgreSQL as a database. If we don't have one available, we also provide a one-line command to provision a PostgreSQL instance through Docker.
The repository is structured as follows:
```
twenty
└───docs // contains this documentation
└───front // contains the frontend code for the application
└───server // contains the backend code for the application
└───infra // contains docker development/production-ready deployment configuration
```
## Yarn install (recommended)
**Note:** `npm` is currently not supporting local packages satisfactorily. We strongly recommend using `yarn` instead.
### 1. Pre-requisites
You need to have [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git), [node](https://nodejs.org/en/download) and [yarn](https://classic.yarnpkg.com/lang/en/docs/install/) installed on your computer.
### 2. Git clone
```
git clone git@github.com:twentyhq/twenty.git
```
### 3. PostgresSQL database
You also need to have a PosgresSQL database available. If you already have one available, you can skip this step.
If you don't, you can provision one through `docker` using the following command:
```
make provision-postgres
```
This will create a docker container, exposing a PostgresSQL instance at [http://localhost:5432](http://localhost:5432).
### 4. Setup env variables
Twenty requires a few environment variables to be set. Locally, we recommend setting them through `.env` file.
To do so, make a copy of .env.example files:
```
cp ./front/.env.example ./front/.env
cp ./server/.env.example ./server/.env
```
The default values should work out of the box. Don't forget to update the database connection string if you are using your own database instance.
### 5. Server setup
**Note:** we recommend that you use `nvm` to install the correct `node` version. We have added a `server/.nvmrc` to ensure all contributors are using the same version.
To build Twenty server and seed some data into your database:
```
cd server
nvm use #recommended
yarn
yarn prisma:reset
yarn start:dev
```
Twenty server will be running at [http://localhost:3000](http://localhost:3000).
### 6. Front setup
**Note:** similarly, we recommend that you use `nvm` to install the right node version.
```
cd front
nvm use #recommended
yarn
yarn start
```
Twenty front will be running at [http://localhost:3001](http://localhost:3001).
### 7. Sign in to your local Twenty installation
Browse [http://localhost:3001](http://localhost:3001). You can connect using our recently seeded demo account `tim@apple.dev`.
## Docker install
If you wish, you can also provision the project with docker. This come with a few advantages:
- It provides the exact same environment as our core developer team.
- It includes some additional dependencies (such as `playwright`) that you might need if you wish to contribute to some advanced areas of the project.
- It provisions a postgres database.
### 1. Pre-requisites
Make sure you have the latest `Docker` and [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) versions installed on your computer.
You can run `docker --version` to check they it is installed.
### 2. Git clone
```
git clone git@github.com:twentyhq/twenty.git
```
### 3. Setup env variables
Twenty requires a few environment variables to be set. Locally, we recommend setting them through `.env` pattern.
```
cp ./front/.env.example ./front/.env
cp ./server/.env.example ./server/.env
```
The default values should work out of the box.
### 4. Build
We provide a containerized environment with Docker and orchestrated with docker-compose.
This install will also provision a Postgres container.
**Note:** the configuration is stored `infra/dev` folder but you can run `make` commands direclty from the root folder.
```
make build
```
### 5. Migrate & seed
Before running the project, you need to initialize the database by running migration and seeds.
Start the containers:
```
make up
```
Run database migrations, generate prisma client and seed:
```
make server-prisma-reset
```
### 6. Start Twenty
Once this is completed you can run the project with the following commands:
front:
```
make front-start
```
server:
```
make server-start
```
- front available on: [http://localhost:3001](http://localhost:3001)
- server available on: [http://localhost:3000/graphql](http://localhost:3000/graphql)
- postgres: available on [http://localhost:5432](http://localhost:5432) and should contain database named `default`
### 7. Sign in to your local Twenty installation
Browse [http://localhost:3001](http://localhost:3001). You can connect using our recently seeded demo account `tim@apple.dev`.
### 8. (Optional)
If you don't want to use make command and work directly from the container, you can also ssh directly in the container
```
make sh
```
Then run commands through yarn:
```
cd server
yarn prisma:reset
```
+43
View File
@@ -0,0 +1,43 @@
---
sidebar_custom_props:
icon: TbTopologyStar
---
# Development workflow
## IDE Setup
If you are using VSCode, we provide a [.vscode](https://github.com/twentyhq/twenty/tree/main/.vscode) configuration.
## Front development commands
```
yarn # install dependencies
yarn start # start local development server
yarn test # run jest tests
yarn storybook:dev # run storybook
yarn storybook:test # run tests (needs yarn storybook:dev to be running)
yarn storybook:coverage # run tests (needs yarn storybook:dev to be running)
yarn lint # run linter
yarn graphql:generate
```
See [front/package.json](https://github.com/twentyhq/twenty/blob/main/front/package.json) script section to see the full list of available commands.
## Server development
```
yarn # install dependencies
yarn start:dev
yarn prisma:migrate # run migrations
yarn prisma:generate # generate prisma and nestjs-graphql schemas
yarn prisma:seed # provision database with seeds
yarn:reset # all-in-one command to reset, migrate, seed and generate schemas
yarn:test
```
See [server/package.json](https://github.com/twentyhq/twenty/blob/main/server/package.json) script section to see the full list of available commands.