diff --git a/docs/docs/dev/_category_.json b/docs/docs/dev/_category_.json
deleted file mode 100644
index b8aeacfa25..0000000000
--- a/docs/docs/dev/_category_.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "label": "Contributing",
- "position": 2
-}
diff --git a/docs/docs/dev/architecture.mdx b/docs/docs/dev/architecture.mdx
deleted file mode 100644
index e6c851a183..0000000000
--- a/docs/docs/dev/architecture.mdx
+++ /dev/null
@@ -1,19 +0,0 @@
----
-sidebar_custom_props:
- icon: TbApps
----
-
-# Architecture
-
-
-import ThemedImage from '@theme/ThemedImage';
-
-
-
-
diff --git a/docs/docs/developer/_category_.json b/docs/docs/developer/_category_.json
new file mode 100644
index 0000000000..a8c28cba7d
--- /dev/null
+++ b/docs/docs/developer/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Developer guide",
+ "position": 2
+}
diff --git a/docs/docs/dev/glossary.mdx b/docs/docs/developer/glossary.mdx
similarity index 100%
rename from docs/docs/dev/glossary.mdx
rename to docs/docs/developer/glossary.mdx
diff --git a/docs/docs/start/local-setup.mdx b/docs/docs/developer/local-setup.mdx
similarity index 86%
rename from docs/docs/start/local-setup.mdx
rename to docs/docs/developer/local-setup.mdx
index 46964f6260..ed04783228 100644
--- a/docs/docs/start/local-setup.mdx
+++ b/docs/docs/developer/local-setup.mdx
@@ -1,7 +1,7 @@
---
sidebar_position: 0
sidebar_custom_props:
- icon: TbBolt
+ icon: TbArrowBigRight
---
# Local Setup
@@ -10,7 +10,7 @@ This section will guide you through the Twenty installation on your local enviro
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.
+- 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:
@@ -94,9 +94,9 @@ Browse [http://localhost:3001](http://localhost:3001). You can connect using our
## Docker install
If you wish, you can also provision the project with docker. This come with a few advantages:
-- provides the exact same environment as our core developer team
-- includes some additional dependencies (such as `playwright`) that you might need if you wish to contribute to some advanced areas of the project.
-- provisions a postgres database
+- 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
@@ -123,7 +123,7 @@ The default values should work out of the box.
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.
+**Note:** the configuration is stored `infra/dev` folder but you can run `make` commands direclty from the root folder.
```
make build
@@ -157,9 +157,9 @@ server:
make server-start
```
-- front available on: http://localhost:3001
-- server available on: http://localhost:3000/healthz
-- postgres: available on http://localhost:5432 and should contain database named `default`
+- 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
diff --git a/docs/docs/dev/workflows.mdx b/docs/docs/developer/workflows.mdx
similarity index 100%
rename from docs/docs/dev/workflows.mdx
rename to docs/docs/developer/workflows.mdx
diff --git a/docs/docs/hosting/_category_.json b/docs/docs/hosting/_category_.json
new file mode 100644
index 0000000000..0e7463ce99
--- /dev/null
+++ b/docs/docs/hosting/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Self-Hosting",
+ "position": 3
+}
diff --git a/docs/docs/start/self-hosting.mdx b/docs/docs/hosting/self-hosting.mdx
similarity index 90%
rename from docs/docs/start/self-hosting.mdx
rename to docs/docs/hosting/self-hosting.mdx
index b7d633e127..d9c9e83db1 100644
--- a/docs/docs/start/self-hosting.mdx
+++ b/docs/docs/hosting/self-hosting.mdx
@@ -2,7 +2,7 @@
sidebar_custom_props:
icon: TbServer
---
-# Self hosting
+# Self-hosting
Right now, docker containers are the only option we currently support. However we are actively working on providing simple options to self host Twenty yourself.
Feel free to open issues on [Github](https://github.com/twentyhq/twenty) if you want a specific cloud provider to be supported.
@@ -42,4 +42,4 @@ We are working on providing a joint docker image containing Twenty front and ser
## Railway (soon)
-Railway(railway.app) is an infrastructure platform that let you deploy to the cloud in one-click
\ No newline at end of file
+[Railway](railway.app) is an infrastructure platform that let you deploy to the cloud in one-click. We are currently working on making it available.
\ No newline at end of file
diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx
index 8be05bd3fb..ec215ce57b 100644
--- a/docs/docs/index.mdx
+++ b/docs/docs/index.mdx
@@ -10,7 +10,7 @@ import ThemedImage from '@theme/ThemedImage';
# Introduction
Twenty is an Open Source CRM.
-
+
## Why did we create Twenty?
@@ -24,11 +24,13 @@ We wish to create a tool that users will enjoy, and that engineers will want to
## Getting started
-There are three ways for you to get started which are documented in the left sidebar:
+There are three ways for you to get started with Twenty:
- **Cloud:** the fastest and easiest way to try the app (it's free)
- **Local:** if you're a developer and would like to experiment or contribute to the app
- **Self-hosting:** if you want greater control over your data and to run the app on your own server
+See our [Getting Started](./start/getting-started/) guide to learn more.
+
## Contributing
Contributions are what makes the open source community such an amazing place.
Code contributions through pull request are most welcome.
diff --git a/docs/docs/others/CLI.mdx b/docs/docs/others/CLI.mdx
index 65a708e287..0279037d64 100644
--- a/docs/docs/others/CLI.mdx
+++ b/docs/docs/others/CLI.mdx
@@ -4,3 +4,6 @@ sidebar_custom_props:
icon: TbTerminal2
---
+# CLI (soon)
+
+Available soon!
\ No newline at end of file
diff --git a/docs/docs/others/_category_.json b/docs/docs/others/_category_.json
index 31b069864d..5901bf5b65 100644
--- a/docs/docs/others/_category_.json
+++ b/docs/docs/others/_category_.json
@@ -1,4 +1,4 @@
{
"label": "Others",
- "position": 5
+ "position": 4
}
diff --git a/docs/docs/start/_category_.json b/docs/docs/start/_category_.json
index 437c38a5fa..2e03cb9423 100644
--- a/docs/docs/start/_category_.json
+++ b/docs/docs/start/_category_.json
@@ -1,4 +1,4 @@
{
- "label": "Getting started",
+ "label": "Start",
"position": 1
}
diff --git a/docs/docs/start/cloud-setup.mdx b/docs/docs/start/cloud-setup.mdx
deleted file mode 100644
index 470c501554..0000000000
--- a/docs/docs/start/cloud-setup.mdx
+++ /dev/null
@@ -1,10 +0,0 @@
----
-sidebar_custom_props:
- icon: TbCloud
----
-
-# Cloud setup
-
-The easiest way to quickly try the app is to signup on [app.twenty.com](https://app.twenty.com).
-
-The signup is free.
\ No newline at end of file
diff --git a/docs/docs/start/getting-started.mdx b/docs/docs/start/getting-started.mdx
new file mode 100644
index 0000000000..d7bfc5d6f0
--- /dev/null
+++ b/docs/docs/start/getting-started.mdx
@@ -0,0 +1,19 @@
+---
+sidebar_custom_props:
+ icon: TbBolt
+---
+import ThemedImage from '@theme/ThemedImage';
+
+# Getting Started
+
+## Trying Twenty
+
+The easiest way to quickly try the app is to signup on [app.twenty.com](https://app.twenty.com).
+
+The signup is free.
+
+
+
+## Developer documentation
+
+If you are looking to locally install the project, either to try it or to contribute, you will find all the information you need in our [developer guide](../developer/local-setup).
diff --git a/docs/src/theme/DocSidebarItem/Link/index.js b/docs/src/theme/DocSidebarItem/Link/index.js
index 0077f7deee..aaa820801c 100644
--- a/docs/src/theme/DocSidebarItem/Link/index.js
+++ b/docs/src/theme/DocSidebarItem/Link/index.js
@@ -6,7 +6,7 @@ import Link from '@docusaurus/Link';
import isInternalUrl from '@docusaurus/isInternalUrl';
import IconExternalLink from '@theme/Icon/ExternalLink';
import styles from './styles.module.css';
-import { TbFaceIdError, TbTerminal2, TbCloud, TbServer, TbBolt, TbApps, TbTopologyStar, TbChartDots, TbBug, TbVocabulary } from "react-icons/tb";
+import { TbFaceIdError, TbTerminal2, TbCloud, TbServer, TbBolt, TbApps, TbTopologyStar, TbChartDots, TbBug, TbVocabulary, TbArrowBigRight } from "react-icons/tb";
export default function DocSidebarItemLink({
@@ -23,6 +23,7 @@ export default function DocSidebarItemLink({
let icons = {
'TbTerminal2': TbTerminal2,
'TbCloud': TbCloud,
+ 'TbArrowBigRight': TbArrowBigRight,
'TbServer': TbServer,
'TbBolt': TbBolt,
'TbApps': TbApps,
diff --git a/docs/static/img/dark-doc-preview.png b/docs/static/img/dark-doc-preview.png
new file mode 100644
index 0000000000..833fed1a33
Binary files /dev/null and b/docs/static/img/dark-doc-preview.png differ
diff --git a/docs/static/img/dark-sign-in.png b/docs/static/img/dark-sign-in.png
new file mode 100644
index 0000000000..5541eae103
Binary files /dev/null and b/docs/static/img/dark-sign-in.png differ
diff --git a/docs/static/img/light-doc-preview.png b/docs/static/img/light-doc-preview.png
new file mode 100644
index 0000000000..3a10a3ee58
Binary files /dev/null and b/docs/static/img/light-doc-preview.png differ
diff --git a/docs/static/img/light-sign-in.png b/docs/static/img/light-sign-in.png
new file mode 100644
index 0000000000..94f7d2e4be
Binary files /dev/null and b/docs/static/img/light-sign-in.png differ
diff --git a/docs/static/img/preview-docs-dark.png b/docs/static/img/preview-docs-dark.png
deleted file mode 100644
index 2796a07767..0000000000
Binary files a/docs/static/img/preview-docs-dark.png and /dev/null differ
diff --git a/docs/static/img/preview-docs-light.png b/docs/static/img/preview-docs-light.png
deleted file mode 100644
index 7ff95dfb4e..0000000000
Binary files a/docs/static/img/preview-docs-light.png and /dev/null differ
diff --git a/front/src/modules/activities/components/CommentThreadCreateButton.tsx b/front/src/modules/activities/components/CommentThreadCreateButton.tsx
index 75e8d5788d..537e436f6d 100644
--- a/front/src/modules/activities/components/CommentThreadCreateButton.tsx
+++ b/front/src/modules/activities/components/CommentThreadCreateButton.tsx
@@ -26,7 +26,7 @@ export function CommentThreadCreateButton({
}
title="Task"
- onClick={onTaskClick}
+ soon={true}
/>
}
diff --git a/front/src/modules/activities/components/CommentThreadTypeDropdown.tsx b/front/src/modules/activities/components/CommentThreadTypeDropdown.tsx
index d8f29e8a5c..2e0d6f2dc4 100644
--- a/front/src/modules/activities/components/CommentThreadTypeDropdown.tsx
+++ b/front/src/modules/activities/components/CommentThreadTypeDropdown.tsx
@@ -2,7 +2,7 @@ import {
DropdownButton,
DropdownOptionType,
} from '@/ui/button/components/DropdownButton';
-import { IconCheck, IconNotes } from '@/ui/icon/index';
+import { IconNotes } from '@/ui/icon/index';
import {
ActivityType,
CommentThread,
@@ -17,7 +17,6 @@ export function CommentThreadTypeDropdown({ commentThread }: OwnProps) {
const [updateCommentThreadMutation] = useUpdateCommentThreadMutation();
const options: DropdownOptionType[] = [
{ label: 'Note', key: 'note', icon: },
- { label: 'Task', key: 'task', icon: },
];
function getSelectedOptionKey() {
diff --git a/front/src/modules/auth/utils/passwordRegex.ts b/front/src/modules/auth/utils/passwordRegex.ts
index 5c88d5f41a..1e38ac7520 100644
--- a/front/src/modules/auth/utils/passwordRegex.ts
+++ b/front/src/modules/auth/utils/passwordRegex.ts
@@ -1 +1 @@
-export const PASSWORD_REGEX = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}$/;
+export const PASSWORD_REGEX = /^.{8,}$/;
diff --git a/front/src/pages/auth/PasswordLogin.tsx b/front/src/pages/auth/PasswordLogin.tsx
index 4843538e5a..355b4bdfac 100644
--- a/front/src/pages/auth/PasswordLogin.tsx
+++ b/front/src/pages/auth/PasswordLogin.tsx
@@ -53,10 +53,7 @@ const validationSchema = Yup.object()
exist: Yup.boolean().required(),
email: Yup.string().email('Email must be a valid email').required(),
password: Yup.string()
- .matches(
- PASSWORD_REGEX,
- 'Password must contain at least 8 characters, one uppercase and one number',
- )
+ .matches(PASSWORD_REGEX, 'Password must contain at least 8 characters')
.required(),
})
.required();
diff --git a/server/src/core/auth/auth.util.ts b/server/src/core/auth/auth.util.ts
index a655a37581..6fe8a920b0 100644
--- a/server/src/core/auth/auth.util.ts
+++ b/server/src/core/auth/auth.util.ts
@@ -1,6 +1,6 @@
import * as bcrypt from 'bcrypt';
-export const PASSWORD_REGEX = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}$/;
+export const PASSWORD_REGEX = /^.{8,}$/;
const saltRounds = 10;