diff --git a/docs/docs/dev/_category_.json b/docs/docs/dev/_category_.json
deleted file mode 100644
index b8aeacfa2..000000000
--- 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 e6c851a18..000000000
--- 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 000000000..a8c28cba7
--- /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 46964f626..ed0478322 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 000000000..0e7463ce9
--- /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 b7d633e12..d9c9e83db 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 8be05bd3f..ec215ce57 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 65a708e28..0279037d6 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 31b069864..5901bf5b6 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 437c38a5f..2e03cb942 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 470c50155..000000000
--- 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 000000000..d7bfc5d6f
--- /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 0077f7dee..aaa820801 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 000000000..833fed1a3
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 000000000..5541eae10
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 000000000..3a10a3ee5
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 000000000..94f7d2e4b
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 2796a0776..000000000
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 7ff95dfb4..000000000
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 75e8d5788..537e436f6 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 d8f29e8a5..2e0d6f2dc 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 5c88d5f41..1e38ac752 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 4843538e5..355b4bdfa 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 a655a3758..6fe8a920b 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;