From cb6ee90fa6f4fa08eebbb9577bbbd1799580bc4a Mon Sep 17 00:00:00 2001 From: Nimra Ahmed <50912134+nimraahmed@users.noreply.github.com> Date: Fri, 20 Oct 2023 18:47:44 +0500 Subject: [PATCH] Doc addition & changes (#2152) * refactored Storybook UI * refactored Storybook UI * removed extra cards from the doc, added card for ui components * added hover behavior to doc page & made it look selected * separate storybook docs and tests * separating storybook tests and docs * fixed spelling errors in docs * Final round of edits for frontend, added backend folder architecture * Created CODE_OF_CONDUCT.md * Add code of conduct to contributing.md * doc changes * fixed broken links * doc addition and changes --- .../contributor/local-setup/local-setup.mdx | 2 +- .../contributor/local-setup/wsl-setup.mdx | 60 ------------- .../contributor/local-setup/yarn-setup.mdx | 46 +++++++++- .../server/basics/custom-objects.mdx | 33 +++++++- .../contributor/server/basics/overview.mdx | 10 ++- docs/docs/index.mdx | 24 +++--- docs/docs/start/overview.mdx | 28 ------ docs/docusaurus.config.js | 80 ++++++++++-------- docs/src/css/custom.css | 19 +++++ .../img/contributor/add-custom-objects.jpeg | Bin 0 -> 40008 bytes .../img/contributor/custom-object-schema.jpeg | Bin 0 -> 36494 bytes 11 files changed, 155 insertions(+), 147 deletions(-) delete mode 100644 docs/docs/contributor/local-setup/wsl-setup.mdx delete mode 100644 docs/docs/start/overview.mdx create mode 100644 docs/static/img/contributor/add-custom-objects.jpeg create mode 100644 docs/static/img/contributor/custom-object-schema.jpeg diff --git a/docs/docs/contributor/local-setup/local-setup.mdx b/docs/docs/contributor/local-setup/local-setup.mdx index 1b1cdd8cb..60f71f23e 100644 --- a/docs/docs/contributor/local-setup/local-setup.mdx +++ b/docs/docs/contributor/local-setup/local-setup.mdx @@ -26,7 +26,7 @@ We also provide an easy way to run the project with [Docker](/contributor/local- ## Windows users -Windows users can install the project through WSL2. We provide a [guide](/contributor/local-setup/wsl-setup) to help you get started. +Windows users can install the project through WSL2. We provide a [guide](/contributor/local-setup/yarn-setup) to help you get started. ## Project structure diff --git a/docs/docs/contributor/local-setup/wsl-setup.mdx b/docs/docs/contributor/local-setup/wsl-setup.mdx deleted file mode 100644 index 4f4b9f731..000000000 --- a/docs/docs/contributor/local-setup/wsl-setup.mdx +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: Windows WSL Setup -sidebar_position: 2 -description: Install the project with WSL2 (Windows) -sidebar_custom_props: - icon: TbBrandWindows ---- - -This document guides you through installing the project with WSL2. - -## Install WSL - -Open PowerShell as Administrator and run: - -```powershell -wsl --install -``` - -You should be prompted to restart your computer. If not, restart it manually. - -Upon restart, a powershell window will open and install Ubuntu. This may take a few minutes. -You will be prompted to create a username and password for your Ubuntu installation. - -
- Visual Studio Code: Open in container -
- -## Setup your developer environment - -### Step 1: Install Git - -``` -sudo apt-get install git -``` -Then, configure your git user name and email using the following commands, replacing name and email with your own. These details will be associated with any commits that you create: - -``` -git config --global user.name "Your Name" -git config --global user.email "youremail@domain.com" -``` -:::info Note - -If you don't have a Github account, create one now with the corresponding email address. We recommend that you setup a SSH key for your Github account. Follow the instructions [here](https://docs.github.com/fr/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent). - -::: - -### Step 2: Install Node.js, nvm, Yarn - -```bash -sudo apt-get install curl -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash -curl -o- -L https://yarnpkg.com/install.sh | bash -``` - -Close and reopen your terminal to start using nvm. - -### Step 3: Install Twenty - -Follow our [Yarn install guide](/contributor/local-setup/yarn-setup) to install Twenty. -We don't recommend using Docker on WSL as it adds an extra layer of complexity. diff --git a/docs/docs/contributor/local-setup/yarn-setup.mdx b/docs/docs/contributor/local-setup/yarn-setup.mdx index 3249236f3..4bbc685c5 100644 --- a/docs/docs/contributor/local-setup/yarn-setup.mdx +++ b/docs/docs/contributor/local-setup/yarn-setup.mdx @@ -3,14 +3,13 @@ title: Yarn Setup sidebar_position: 1 description: | Set up the project with Yarn - (MacOs and Linux) sidebar_custom_props: icon: TbScript --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -In this document, you'll learn how to install the project using yarn. We recommend this method since it's the easiest way to get started but you can also run the project with [Docker](/contributor/local-setup/docker-setup) or [WSL2](/contributor/local-setup/wsl-setup). +In this document, you'll learn how to install the project using yarn. We recommend this method since it's the easiest way to get started but you can also run the project with [Docker](/contributor/local-setup/docker-setup). :::info `npm` currently does not support local packages satisfactorily. We strongly recommend using `yarn` instead. @@ -18,12 +17,55 @@ In this document, you'll learn how to install the project using yarn. We recomme ## Prerequisites + + + 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 v18](https://nodejs.org/en/download) - [yarn v1](https://classic.yarnpkg.com/lang/en/docs/install/) - [nvm](https://github.com/nvm-sh/nvm/blob/master/README.md) + + + + +1. Install WSL +Open PowerShell as Administrator and run: + +```powershell +wsl --install +``` +You should be prompted to restart your computer. If not, restart it manually. + +Upon restart, a powershell window will open and install Ubuntu. This may take a few minutes. +You will be prompted to create a username and password for your Ubuntu installation. + +2. Install and configure git + +```bash +sudo apt-get install git +git config --global user.name "Your Name" +git config --global user.email "youremail@domain.com" +``` + +3. Install Node.js, nvm, yarn +```bash +sudo apt-get install curl +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash +curl -o- -L https://yarnpkg.com/install.sh | bash +``` +Close and reopen your terminal to start using nvm. + +:::caution Note + +We don't recommend using Docker on WSL as it adds an extra layer of complexity. + +::: + + + + --- ## Step 1: Git Clone diff --git a/docs/docs/contributor/server/basics/custom-objects.mdx b/docs/docs/contributor/server/basics/custom-objects.mdx index dc11f4b0b..e41d37658 100644 --- a/docs/docs/contributor/server/basics/custom-objects.mdx +++ b/docs/docs/contributor/server/basics/custom-objects.mdx @@ -5,13 +5,38 @@ sidebar_custom_props: icon: TbAugmentedReality --- -To elevate our platform experience and adhere to our dedication towards versatility, we've successfully integrated custom objects (objects available only in a specific workspace). -Users across different workspaces can now seamlessly access custom objects using a dynamic GraphQL schema. +Objects are structures that allow you to store data (records, attributes, and values) specific to an organization. Twenty provides both standard and custom objects. + +Standard objects are built-in objects with a set of attributes available for all users. Examples of standard objects in Twenty include Company and Person. Standard objects have standard fields that are also available for all Twenty users, like Company.displayName. + +Custom objects are objects that you can create to store information that is unique to your organization. They are not built-in; members of your workspace can create and customize custom objects to hold information that standard objects aren't suitable for. + + +## High-level schema + +
+ High level schema +
+ +
## How it works -Custom objects trace their roots back to metadata tables that dictate the shape, name, and type of the objects. All this information is housed in the metadata schema database, consisting of tables: +Custom objects are derived from metadata tables that determine the shape, name, and type of the objects. All this information is stored in the metadata schema database, consisting of tables: - **DataSource**: Details where data is stored. - **Object**: Describes the object and is linked to a DataSource. -- **Field**: Outlines an Object's fields and connects to the Object. \ No newline at end of file +- **Field**: Outlines an Object's fields and connects to the Object. + +To add a custom object, the workspaceMember will query the /metadata API. Then, the metadata is updated accordingly and a GraphQL schema is computed based on metadata and stored in a GQL cache for later use. + +
+ Query the /metadata API to add custom objects +
+ +
+ +To fetch data, querying is done through the /graphql endpoint and goes through the Query Resolver. +
+ Query the /graphql endpoint to fetch data +
diff --git a/docs/docs/contributor/server/basics/overview.mdx b/docs/docs/contributor/server/basics/overview.mdx index 98f575e13..d637377ab 100644 --- a/docs/docs/contributor/server/basics/overview.mdx +++ b/docs/docs/contributor/server/basics/overview.mdx @@ -8,18 +8,24 @@ sidebar_custom_props: We primarily use NestJS for our backend. We previously used to have Prisma as the ORM with a lot of auto-generated code under the hood. But since we want to offer flexibility so that users can create custom fields and custom objects, we needed something more low-level than Prisma to have more fine-grained control. This is why we switched to TypeORM. Here's what our tech stack now looks like. ## Tech Stack + +**Core** - [NestJS](https://nestjs.com/) - [TypeORM](https://typeorm.io/) - [GraphQL Yoga](https://the-guild.dev/graphql/yoga-server) -- [Sentry](https://sentry.io/welcome/) -- [AWS EKS](https://aws.amazon.com/eks/) **Database** - [Postgres](https://www.postgresql.org/) +**Third-party integrations** +- [Sentry](https://sentry.io/welcome/) for tracking bugs + **Testing** - [Jest](https://jestjs.io/) **Tooling** - [Yarn](https://yarnpkg.com/) - [ESLint](https://eslint.org/) + +**Development** +- [AWS EKS](https://aws.amazon.com/eks/) \ No newline at end of file diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index 3e1dbed19..5e8054ef1 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -7,31 +7,29 @@ custom_edit_url: null --- import ThemedImage from '@theme/ThemedImage'; -Twenty is an Open Source CRM. - +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. + ## Why did we create Twenty? -At first, CRM platforms were just for sales teams. -But now, they've grown to cover more than just sales - they handle many aspects of running a business. -This has often left in-house engineering teams out of the loop, making companies rely more on outside help to manage their CRM needs. +We’ve spent thousands of hours grappling with traditional CRMs 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. -Our team has a shared passion for crafting beautiful products with great attention to details. -And we are starting this project with one key goal: to put the power back in the hands of the people who use CRM systems every day. -We wish to create a tool that users will enjoy, and that engineers will want to make their own and customize for their company's specific needs. +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. ## Getting started 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 want to run the app on your own server +- **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 want 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 requests are most welcome. -But it doesn't have to be code. You can also create an issue to report a bug you've spotted, join discussions or write documentation. +Code contributions through pull request are most welcome. See our [local setup guide](../contributor/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. diff --git a/docs/docs/start/overview.mdx b/docs/docs/start/overview.mdx deleted file mode 100644 index fe22dc345..000000000 --- a/docs/docs/start/overview.mdx +++ /dev/null @@ -1,28 +0,0 @@ ---- -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. - - -___ - -## Why did we create Twenty? -We’ve spent thousands of hours grappling with traditional CRMs 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](../contributor/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. \ No newline at end of file diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index f6e449fa7..85bf77e79 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -7,20 +7,20 @@ const darkCodeTheme = require('prism-react-renderer/themes/dracula'); /** @type {import('@docusaurus/types').Config} */ const config = { - title: 'Twenty - Documentation', - tagline: 'Twenty is cool', - favicon: 'img/logo-square-dark.ico', + title: "Twenty - Documentation", + tagline: "Twenty is cool", + favicon: "img/logo-square-dark.ico", // Prevent search engines from indexing the doc for selected environments - noIndex: process.env.SHOULD_INDEX_DOC === 'false', + noIndex: process.env.SHOULD_INDEX_DOC === "false", // Set the production url of your site here - url: 'https://docs.twenty.com', + url: "https://docs.twenty.com", // Set the // pathname under which your site is served // For GitHub pages deployment, it is often '//' - baseUrl: '/', - onBrokenLinks: 'throw', - onBrokenMarkdownLinks: 'warn', + baseUrl: "/", + onBrokenLinks: "throw", + onBrokenMarkdownLinks: "warn", headTags: [], @@ -28,67 +28,73 @@ const config = { // metadata like html lang. For example, if your site is Chinese, you may want // to replace "en" with "zh-Hans". i18n: { - defaultLocale: 'en', - locales: ['en'], + defaultLocale: "en", + locales: ["en"], }, presets: [ [ - 'classic', + "classic", /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { breadcrumbs: false, - sidebarPath: require.resolve('./sidebars.js'), + sidebarPath: require.resolve("./sidebars.js"), sidebarCollapsible: false, - routeBasePath: '/', - editUrl: 'https://github.com/twentyhq/twenty/edit/main/docs/', + routeBasePath: "/", + editUrl: "https://github.com/twentyhq/twenty/edit/main/docs/", + }, blog: false, theme: { - customCss: require.resolve('./src/css/custom.css'), + customCss: require.resolve("./src/css/custom.css"), }, }), - - ] + ], ], themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ // Replace with your project's social card - image: 'img/social-card.png', - colorMode:{ - defaultMode: 'light' + image: "img/social-card.png", + colorMode: { + defaultMode: "light", }, navbar: { /*title: 'Twenty',*/ logo: { - alt: 'Twenty', - src: 'img/logo-square-dark.svg', - srcDark: 'img/logo-square-light.svg', + alt: "Twenty", + src: "img/logo-square-dark.svg", + srcDark: "img/logo-square-light.svg", }, items: [ { - type: 'search', - position: 'left', + type: "search", + position: "left", }, { - to: '/graphql/', - label: 'GraphQL Playground', - position: 'right' + to: "/graphql/", + label: "GraphQL Playground", + position: "right", }, { - to: 'https://github.com/twentyhq/twenty/releases', - label: 'Releases', - position: 'right' - } + to: "https://github.com/twentyhq/twenty/releases", + label: "Releases", + position: "right", + }, + { + href: "https://github.com/twentyhq/twenty", + position: "right", + className: "header-github-link", + "aria-label": "GitHub repository", + }, ], }, algolia: { - appId: 'J2OX2P2QAO', - apiKey: 'e0a7a59c7862598a0cf87307c8ea97f2', - indexName: 'twenty', - + appId: "J2OX2P2QAO", + apiKey: "e0a7a59c7862598a0cf87307c8ea97f2", + indexName: "twenty", + // Optional: see doc section below contextualSearch: true, // Optional: Specify domains where the navigation should occur through window.location instead on history.push. Useful when our Algolia config crawls multiple documentation sites and we want to navigate with window.location.href to them. @@ -101,7 +107,7 @@ const config = { // Optional: Algolia search parameters searchParameters: {}, // Optional: path for search page that enabled by default (`false` to disable it) - searchPagePath: 'search', + searchPagePath: "search", }, /* footer: { copyright: `© ${new Date().getFullYear()} Twenty. Docs generated with Docusaurus.`, diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css index a7b0cebc1..f18aa824a 100644 --- a/docs/src/css/custom.css +++ b/docs/src/css/custom.css @@ -261,4 +261,23 @@ a.table-of-contents__link:hover{ .card{ text-decoration: none; +} + + +.header-github-link:hover { + opacity: 0.6; +} + +.header-github-link:before { + background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") + no-repeat; + content: ""; + display: flex; + height: 24px; + width: 24px; +} + +[data-theme='dark'] .header-github-link::before { + background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") + no-repeat; } \ No newline at end of file diff --git a/docs/static/img/contributor/add-custom-objects.jpeg b/docs/static/img/contributor/add-custom-objects.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2f25d84cd807423edeff4e7161cddbdcfb7fa1c0 GIT binary patch literal 40008 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 F|JhoAXx#t+ literal 0 HcmV?d00001 diff --git a/docs/static/img/contributor/custom-object-schema.jpeg b/docs/static/img/contributor/custom-object-schema.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..fef3c5d67ec0e72cfab64efcf921ba2f4babde4a GIT binary patch literal 36494 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