Update README and Documentation (#1875)
* Added Overview page * Revised Getting Started page * Minor revision * Edited readme, minor modifications to docs * Removed sweep.yaml, .devcontainer, .ergomake * Moved security.md to .github, added contributing.md * changes as per code review
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
{
|
||||
"label": "Developer guide",
|
||||
"position": 2
|
||||
"label": "Contributor guide",
|
||||
"position": 3
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
sidebar_position: 3
|
||||
sidebar_custom_props:
|
||||
icon: TbVocabulary
|
||||
---
|
||||
@ -6,4 +6,4 @@
|
||||
"customProps": {
|
||||
"icon": "TbTerminal2"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,15 +1,13 @@
|
||||
---
|
||||
sidebar_position: 0
|
||||
title: Local Setup
|
||||
sidebar_position: 1
|
||||
sidebar_custom_props:
|
||||
icon: TbDeviceDesktop
|
||||
---
|
||||
|
||||
import ThemedImage from '@theme/ThemedImage';
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# 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:
|
||||
@ -24,25 +22,34 @@ twenty
|
||||
└───server // contains the backend code for the application
|
||||
└───infra // contains docker configurations for development and production deployments
|
||||
```
|
||||
___
|
||||
|
||||
## Yarn install (recommended)
|
||||
# Recommended: Yarn Installation
|
||||
|
||||
**Note:** `npm` currently does not support local packages satisfactorily. We strongly recommend using `yarn` instead.
|
||||
|
||||
### 1. Pre-requisites
|
||||
## Prerequisites
|
||||
|
||||
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.
|
||||
Before you can install and use Twenty, make sure you install the following on your computer:
|
||||
- [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
|
||||
- [Node](https://nodejs.org/en/download)
|
||||
- [yarn](https://classic.yarnpkg.com/lang/en/docs/install/)
|
||||
|
||||
---
|
||||
|
||||
## Step #1: Git Clone
|
||||
|
||||
In your terminal, run the following command:
|
||||
|
||||
### 2. Git clone
|
||||
```
|
||||
git clone git@github.com:twentyhq/twenty.git
|
||||
```
|
||||
|
||||
|
||||
### 3. PostgreSQL database
|
||||
You also need to have a PostgreSQL database available. If you already have one available, you can skip this step.
|
||||
## Step #2: Set up PostgreSQL Database
|
||||
You need to have a PostgreSQL database available to be able to use Twenty. 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:
|
||||
If you don't, you can provision one through `docker` using the following commands:
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="docker" label="Docker" default>
|
||||
@ -54,26 +61,54 @@ If you don't, you can provision one through `docker` using the following command
|
||||
|
||||
This will create a Docker container, exposing a PostgresSQL instance at [http://localhost:5432](http://localhost:5432).
|
||||
|
||||
This instance is containing two databases: `default` and `test`
|
||||
This instance contains two databases: `default` and `test`
|
||||
You can access them using `twenty` postgres user (password: `twenty`)
|
||||
</TabItem>
|
||||
<TabItem value="linux-wsl" label="Linux / Windows WSL">
|
||||
|
||||
Install PostgresSQL on WSL2:
|
||||
To install PostgresSQL on WSL2, use the following commands:
|
||||
|
||||
```bash
|
||||
cd twenty/infra/dev/scripts && sudo ./setup-database.sh
|
||||
sudo apt update
|
||||
sudo apt install postgresql postgresql-contrib
|
||||
```
|
||||
|
||||
This script will install and setup PostgreSQL with dependencies.
|
||||
Start postgresql service and connect to the database using default `postgres` user:
|
||||
|
||||
After successful setup, database will contain two databases: `default` and `test`,
|
||||
You can access them using `twenty` postgres user (password: `twenty`)
|
||||
```bash
|
||||
sudo service postgresql start
|
||||
sudo -u postgres psql
|
||||
```
|
||||
|
||||
Create two databases:
|
||||
|
||||
```sql
|
||||
CREATE DATABASE "default";
|
||||
CREATE DATABASE "test";
|
||||
```
|
||||
|
||||
Create a user `twenty` with password `twenty`:
|
||||
|
||||
```sql
|
||||
CREATE USER twenty PASSWORD 'twenty';
|
||||
ALTER USER twenty CREATEDB;
|
||||
```
|
||||
|
||||
Create `metadata` schema:
|
||||
```sql
|
||||
CREATE SCHEMA IF NOT EXISTS "metadata";
|
||||
GRANT ALL ON SCHEMA metadata TO twenty;
|
||||
```
|
||||
|
||||
Activate `uuid-ossp` extension:
|
||||
```sql
|
||||
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
||||
```
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
|
||||
### 4. Setup env variables
|
||||
## Step #3: Setup env variables
|
||||
|
||||
Twenty requires a few environment variables to be set. Locally, we recommend setting them through a `.env` file.
|
||||
|
||||
@ -83,11 +118,11 @@ cp ./front/.env.example ./front/.env
|
||||
cp ./server/.env.example ./server/.env
|
||||
```
|
||||
|
||||
### 5. Server setup
|
||||
## Step #4: 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.
|
||||
**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:
|
||||
To build Twenty server and seed some data into your database, run the following commands:
|
||||
```bash
|
||||
cd server
|
||||
nvm install #recommended
|
||||
@ -97,11 +132,12 @@ yarn prisma:reset
|
||||
yarn start:dev
|
||||
```
|
||||
|
||||
Twenty server will be running at [http://localhost:3000](http://localhost:3000).
|
||||
Twenty's server will be up and running at [http://localhost:3000](http://localhost:3000).
|
||||
|
||||
### 6. Frontend setup
|
||||
## Step #5: Frontend setup
|
||||
|
||||
**Note:** similarly, we recommend that you use `nvm` to install the right node version.
|
||||
**Note:** For the frontend setup, too, we recommend using `nvm` to install the right node version.
|
||||
To set up the frontend, run the following commands in your terminal:
|
||||
|
||||
```bash
|
||||
cd ../front
|
||||
@ -111,31 +147,31 @@ yarn
|
||||
yarn start
|
||||
```
|
||||
|
||||
Twenty front will be running at [http://localhost:3001](http://localhost:3001).
|
||||
Twenty's frontend will be running at [http://localhost:3001](http://localhost:3001). Simply login using our seeded demo account: `tim@apple.dev` to start using Twenty.
|
||||
|
||||
### 7. Sign in to your local Twenty installation
|
||||
---
|
||||
|
||||
Open [http://localhost:3001](http://localhost:3001) in your web browser. You can login using our seeded demo account: `tim@apple.dev`.
|
||||
|
||||
## Docker install
|
||||
# Docker Installation
|
||||
|
||||
You can also provision the project with Docker. This comes 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 PostgreSQL database.
|
||||
|
||||
### 1. Pre-requisites
|
||||
## Prerequisites
|
||||
|
||||
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 verify the installation.
|
||||
|
||||
### 2. Git clone
|
||||
## Step #1: Git Clone
|
||||
In your terminal, run the following command:
|
||||
|
||||
```bash
|
||||
git clone git@github.com:twentyhq/twenty.git
|
||||
```
|
||||
|
||||
### 3. Setup env variables
|
||||
## Step #2: Setup env variables
|
||||
|
||||
Twenty requires a few environment variables to be set. Locally, we recommend setting them through `.env` files.
|
||||
|
||||
@ -153,18 +189,18 @@ PG_DATABASE_URL=postgres://twenty:twenty@postgres:5432/default?connection_limit=
|
||||
```
|
||||
|
||||
|
||||
### 4. Build
|
||||
## Step #3: Build
|
||||
|
||||
We provide an environment containerized with Docker and orchestrated with `docker-compose`.
|
||||
This installation method will also provision a PostgreSQL container.
|
||||
|
||||
**Note:** the configuration for the build is stored in the `infra/dev` folder, but you can run `make` commands directly from the root folder.
|
||||
**Note:** The configuration for the build is stored in the `infra/dev` folder, but you can run `make` commands directly from the root folder.
|
||||
|
||||
```bash
|
||||
make build
|
||||
```
|
||||
|
||||
### 5. Migrate & seed
|
||||
## Step #4: Migrate & seed
|
||||
|
||||
Before running the project, you need to initialize the database by running the migrations and seed.
|
||||
|
||||
@ -178,9 +214,9 @@ Run database migrations, generate prisma client, and seed:
|
||||
make server-prisma-reset
|
||||
```
|
||||
|
||||
### 6. Start Twenty
|
||||
## Step #5: Start Twenty
|
||||
|
||||
Run the project with the following commands from `root folder`:
|
||||
Run the project with the following commands from the `root folder`:
|
||||
|
||||
```bash
|
||||
make server-start
|
||||
@ -191,15 +227,13 @@ make front-start
|
||||
```
|
||||
|
||||
You should now have:
|
||||
- **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 containing database named `default`
|
||||
- **Frontend** 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 containing database named `default`
|
||||
|
||||
### 7. Sign in to your local Twenty installation
|
||||
Sign in using our seeded demo account `tim@apple.dev` (password: `Applecar2025`) to start using Twenty
|
||||
|
||||
Open [http://localhost:3001](http://localhost:3001) and sign in using our seeded demo account `tim@apple.dev` (password: `Applecar2025`)
|
||||
|
||||
### 8. (Optional)
|
||||
### Optional
|
||||
|
||||
If you don't want to use the `make` command and work directly from the container, you can also ssh directly into the container:
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{
|
||||
"label": "Self-Hosting",
|
||||
"position": 3
|
||||
"position": 2
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@ Refer to this list to see what future options will be available.
|
||||
|
||||
## Production docker containers
|
||||
|
||||
We provide a production-ready set of `Dockerfile`s to allow you to build your own image and deploy it to your favorite cloud provider (Amazon Web Services, Google Cloud Platform, etc.).
|
||||
We provide a production-ready set of `Dockerfiles` to allow you to build your own image and deploy it to your favorite cloud provider (Amazon Web Services, Google Cloud Platform, etc.).
|
||||
|
||||
You will find these in the [infra/prod/front/Dockerfile](https://github.com/twentyhq/twenty/blob/main/infra/prod/front/Dockerfile) and [infra/prod/server/Dockerfile](https://github.com/twentyhq/twenty/blob/main/infra/prod/server/Dockerfile) files.
|
||||
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
---
|
||||
id: homepage
|
||||
sidebar_position: 0
|
||||
hide_title: true
|
||||
|
||||
sidebar_class_name: display-none
|
||||
title: Welcome
|
||||
custom_edit_url: null
|
||||
---
|
||||
import ThemedImage from '@theme/ThemedImage';
|
||||
|
||||
# Introduction
|
||||
|
||||
|
||||
Twenty is an Open Source CRM.
|
||||
<ThemedImage sources={{light: "./img/light-doc-preview.png", dark:"./img/dark-doc-preview.png"}} style={{width:'100%', maxWidth:'800px'}}/>
|
||||
|
||||
@ -1,12 +1,15 @@
|
||||
---
|
||||
title: Getting Started
|
||||
sidebar_position: 1
|
||||
sidebar_custom_props:
|
||||
icon: TbBolt
|
||||
icon: TbRocket
|
||||
---
|
||||
import ThemedImage from '@theme/ThemedImage';
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
|
||||
# Getting Started
|
||||
|
||||
## Trying Twenty
|
||||
There are three ways for you to get started with Twenty:
|
||||
### 1. Cloud
|
||||
|
||||
The easiest way to quickly try the app is to signup on [app.twenty.com](https://app.twenty.com).
|
||||
|
||||
@ -14,6 +17,13 @@ The signup is free.
|
||||
|
||||
<ThemedImage sources={{light: "/img/light-sign-in.png", dark:"/img/dark-sign-in.png"}} style={{width:'100%', maxWidth:'800px'}}/>
|
||||
|
||||
## Developer documentation
|
||||
### 2. Local
|
||||
If you're a developer and would like to experiment or contribute to the app, you can install Twenty on your local environment. Follow our [local setup](/developer/local-setup) guide to get started.
|
||||
|
||||
### 3. Self-hosting
|
||||
We provide self-hosting options if you want greater control over your data and want to run the app on your own server. Right now, Docker containers are the only hosting option we support. However we are actively working on providing simple options to self-host Twenty.
|
||||
|
||||
|
||||
___
|
||||
|
||||
|
||||
If you are looking to install the project locally, either to try it or to contribute, check out our [developer guide](/developer/local-setup).
|
||||
|
||||
26
docs/docs/start/overview.mdx
Normal file
26
docs/docs/start/overview.mdx
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
title: Overview
|
||||
sidebar_position: 0
|
||||
sidebar_custom_props:
|
||||
icon: TbBolt
|
||||
---
|
||||
import ThemedImage from '@theme/ThemedImage';
|
||||
|
||||
Twenty is an Open Source CRM that provides flexibility, tailored to your business needs. It helps you break free from vendor lock-in and limitations, and provides the tools needed to harness the full potential of your data while ensuring a sleek and effortlessly intuitive design that teams will love to use.
|
||||
<ThemedImage sources={{light: "../img/light-doc-preview.png", dark:"./img/dark-doc-preview.png"}} style={{width:'100%', maxWidth:'800px'}}/>
|
||||
|
||||
___
|
||||
|
||||
## Why did we create Twenty?
|
||||
We’ve spent thousands of hours grappling with traditional CRMs/platforms like Pipedrive and Salesforce to align them with our business needs, only to end up frustrated—customizations are complex and the closed ecosystems of these platforms can feel restrictive.
|
||||
|
||||
We felt the need for a CRM solution that empowers rather than constrains, which inspired us to create Twenty. We’re building the next-generation open-source CRM that offers you the flexibility to shape it according to your business objectives and meet your team’s unique needs. We’ve packed Twenty with powerful features to give you full control and help you win more deals.
|
||||
___
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are what makes the open source community such an amazing place.
|
||||
|
||||
Code contributions through pull request are most welcome. See our [local setup guide](../developer/local-setup) to get started.
|
||||
|
||||
You can also contribute by creating an issue to report a bug you've spotted, joining our discussions or writing documentation.
|
||||
@ -42,7 +42,7 @@ const config = {
|
||||
sidebarPath: require.resolve('./sidebars.js'),
|
||||
sidebarCollapsible: false,
|
||||
routeBasePath: '/',
|
||||
editUrl: 'https://github.com/twentyhq/twenty/edit/main/docs/docs/',
|
||||
editUrl: 'https://github.com/twentyhq/twenty/edit/main/docs/',
|
||||
},
|
||||
blog: false,
|
||||
theme: {
|
||||
|
||||
13607
docs/package-lock.json
generated
Normal file
13607
docs/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -25,4 +25,6 @@ export {
|
||||
TbTopologyStar,
|
||||
TbVocabulary,
|
||||
TbZoomQuestion,
|
||||
} from "react-icons/tb";
|
||||
TbRocket
|
||||
} from "react-icons/tb";
|
||||
|
||||
|
||||
BIN
docs/static/img/create-tasks-dark.png
vendored
Normal file
BIN
docs/static/img/create-tasks-dark.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 743 KiB |
BIN
docs/static/img/create-tasks-light.png
vendored
Normal file
BIN
docs/static/img/create-tasks-light.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 899 KiB |
897
docs/yarn.lock
897
docs/yarn.lock
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user