Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[docs] Toolpad docs part 1 #859

Merged
merged 128 commits into from
Sep 15, 2022
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
128 commits
Select commit Hold shift + click to select a range
93edd16
Add intro and quickstart docs
bytasv Aug 26, 2022
e11ebb6
Trying the change
siriwatknp Aug 29, 2022
fa17eac
Fix docs paths
bytasv Aug 29, 2022
e2e1164
Add query and connection docs
bytasv Aug 31, 2022
82c43e9
Add fetch docs, describe postgres connection
bytasv Aug 31, 2022
06125fa
Merge branch 'master' into toolpad-documentation
bytasv Aug 31, 2022
7fe7093
Add data binding documentation
bytasv Aug 31, 2022
dda114b
Update docs/data/toolpad/connecting-to-data-sources/fetch.md
bytasv Sep 1, 2022
a025c12
Update docs/data/toolpad/data-binding.md
bytasv Sep 1, 2022
839b85d
Update docs/data/toolpad/getting-started/introduction.md
bytasv Sep 1, 2022
885af15
Minor text fixes
prakhargupta1 Sep 1, 2022
8149043
More minor fixes
prakhargupta1 Sep 1, 2022
b9c595f
Update docs/data/toolpad/getting-started/quickstart.md
bytasv Sep 1, 2022
8be5391
Merge branch 'master' into toolpad-documentation
bytasv Sep 1, 2022
07061d2
Add 2x data binding image
bytasv Sep 1, 2022
4bc3ac7
Add a link to documentation from docs
bytasv Sep 1, 2022
c9f5243
Merge branch 'master' into toolpad-documentation
bytasv Sep 1, 2022
e2c7eee
Add function query documentation
bytasv Sep 2, 2022
e8a3f88
Merge branch 'master' into toolpad-documentation
bytasv Sep 2, 2022
119adad
Add google sheets connection setup
bytasv Sep 2, 2022
77317d5
Add google sheets query documentation
bytasv Sep 2, 2022
a7324e8
Remove rest documentation
bytasv Sep 2, 2022
5cbff47
Fix hero screenshot path
bytasv Sep 2, 2022
d4650e7
Add postgres query documentation
bytasv Sep 2, 2022
9e5af85
Merge branch 'master' into toolpad-documentation
bytasv Sep 2, 2022
c26f154
Merge branch 'master' into toolpad-documentation
bytasv Sep 6, 2022
9d50238
Update docs/README.md
bytasv Sep 6, 2022
485fb2f
rename intro -> overview and fix content
bytasv Sep 6, 2022
b778598
Use datasource instead of type
bytasv Sep 6, 2022
5396b02
Add postgres params docs
bytasv Sep 6, 2022
abf3e4b
Fix description punctation
bytasv Sep 6, 2022
127fec3
Cleanup tutorial docs
bytasv Sep 6, 2022
f1a8f12
Fix datasources path
bytasv Sep 6, 2022
2db048f
Add missing dots
bytasv Sep 6, 2022
1e9a3aa
Fix use case
bytasv Sep 6, 2022
8bd44ee
Add error handling and pre-processing examples for function datasource
bytasv Sep 6, 2022
b49dc62
Update deployment instructions
bytasv Sep 6, 2022
3c1d220
Rename postgres to postgreSQL
bytasv Sep 6, 2022
e824a7f
Update terminology
bytasv Sep 6, 2022
1127c70
Move terminology to overview
bytasv Sep 6, 2022
2e404a0
Merge branch 'master' into toolpad-documentation
bytasv Sep 6, 2022
8a90980
Replace code -> bold
bytasv Sep 6, 2022
730b190
Merge branch 'master' into toolpad-documentation
bytasv Sep 7, 2022
8fa01fe
Update docs after SAVE action
bytasv Sep 7, 2022
b635af5
Update docs/data/toolpad/connecting-to-datasources/postgreSQL.md
bytasv Sep 7, 2022
0b5308b
Update docs/data/toolpad/connecting-to-datasources/postgreSQL.md
bytasv Sep 7, 2022
b0b76b3
Update docs/data/toolpad/connecting-to-datasources/postgreSQL.md
bytasv Sep 7, 2022
945091c
Update docs/data/toolpad/connecting-to-datasources/connections.md
bytasv Sep 7, 2022
e408e64
Update docs/data/toolpad/connecting-to-datasources/connections.md
bytasv Sep 7, 2022
dcf0e4c
Update docs/README.md
bytasv Sep 7, 2022
0998097
Update docs/README.md
bytasv Sep 7, 2022
84e1269
Update docs/data/toolpad/connecting-to-datasources/connections.md
bytasv Sep 7, 2022
b0e3eb4
Update docs/data/toolpad/connecting-to-datasources/connections.md
bytasv Sep 7, 2022
698e87a
Update docs/data/toolpad/connecting-to-datasources/connections.md
bytasv Sep 7, 2022
d61ceff
Update docs/data/toolpad/connecting-to-datasources/connections.md
bytasv Sep 7, 2022
d5a988b
Update docs/data/toolpad/connecting-to-datasources/connections.md
bytasv Sep 7, 2022
3bcdb0c
Update docs/data/toolpad/connecting-to-datasources/connections.md
bytasv Sep 7, 2022
cf73a8e
Clean connections doc
bytasv Sep 7, 2022
d0949da
Remove we from connections
bytasv Sep 7, 2022
3f866f0
Clean up overview
bytasv Sep 7, 2022
f1a2ec2
Cleanup quickstart
bytasv Sep 7, 2022
2842b95
restore apps overview screenshot
bytasv Sep 7, 2022
bcd2761
Cleanup queries
bytasv Sep 7, 2022
b799c6d
Cleanup fetch
bytasv Sep 7, 2022
fb10be0
Cleanup function
bytasv Sep 7, 2022
adc4ee1
Cleanup google sheets
bytasv Sep 7, 2022
a94d00c
Cleanup postgresql
bytasv Sep 7, 2022
29763b4
Cleanup data binding
bytasv Sep 7, 2022
6e003c9
Fix md lint error
bytasv Sep 7, 2022
9251b05
Update docs/data/toolpad/getting-started/overview.md
bytasv Sep 9, 2022
12f3e7a
Update docs/data/toolpad/getting-started/overview.md
bytasv Sep 9, 2022
093262d
Update docs/data/toolpad/getting-started/overview.md
bytasv Sep 9, 2022
c34be07
Update docs/data/toolpad/getting-started/overview.md
bytasv Sep 9, 2022
4a255d2
Update docs/data/toolpad/getting-started/overview.md
bytasv Sep 9, 2022
b1ddd40
Update docs/data/toolpad/getting-started/overview.md
bytasv Sep 9, 2022
21bc42d
Update docs/data/toolpad/getting-started/overview.md
bytasv Sep 9, 2022
22152a9
Update docs/data/toolpad/getting-started/overview.md
bytasv Sep 9, 2022
582bdc7
Update docs/data/toolpad/getting-started/overview.md
bytasv Sep 9, 2022
20215ad
Merge branch 'master' into toolpad-documentation
bytasv Sep 9, 2022
fa2f327
Fix markdown lint
bytasv Sep 9, 2022
908f39e
Fix overview images
bytasv Sep 9, 2022
45964db
Fix queries images
bytasv Sep 9, 2022
0ff649c
Fix connections images
bytasv Sep 9, 2022
12bf5dc
Fix fetch images
bytasv Sep 9, 2022
d9c5875
Fix function images
bytasv Sep 9, 2022
efd45d2
Fix google sheets images
bytasv Sep 9, 2022
1f91153
Fix postgres images
bytasv Sep 9, 2022
58bd598
Fix databinding images
bytasv Sep 9, 2022
ee3af2b
Fix overview images
bytasv Sep 9, 2022
ed6be09
Merge branch 'master' into toolpad-documentation
bytasv Sep 9, 2022
4095fb0
fix 404 link
oliviertassinari Sep 10, 2022
799a3bd
add redirections for moved pages
oliviertassinari Sep 10, 2022
9826092
remove duplications
oliviertassinari Sep 10, 2022
d2b6d07
consistent format
oliviertassinari Sep 10, 2022
e118af0
enforce sidenav === h1
oliviertassinari Sep 10, 2022
8ca3736
images, use 1:1 display scale assuming the x2 resolution scale is cor…
oliviertassinari Sep 10, 2022
abe16ed
fix 404
oliviertassinari Sep 10, 2022
c000a38
Update docs/data/pages.ts
bytasv Sep 12, 2022
7b60f7f
Update postgres urls
bytasv Sep 12, 2022
8d3a211
Fix docs images paths
bytasv Sep 12, 2022
f029330
Merge branch 'master' into toolpad-documentation
bytasv Sep 12, 2022
0be71aa
Update docs/data/toolpad/getting-started/quickstart.md
bytasv Sep 13, 2022
3b50780
Update docs/data/toolpad/getting-started/quickstart.md
bytasv Sep 13, 2022
6bf8f1b
Update docs/data/toolpad/getting-started/quickstart.md
bytasv Sep 13, 2022
0696dd1
Update docs/data/toolpad/getting-started/quickstart.md
bytasv Sep 13, 2022
c421eb1
Update docs/data/toolpad/getting-started/quickstart.md
bytasv Sep 13, 2022
f4d0a40
Update docs/data/toolpad/getting-started/quickstart.md
bytasv Sep 13, 2022
07cb121
Update docs/data/toolpad/getting-started/quickstart.md
bytasv Sep 13, 2022
a55beff
Update docs/data/toolpad/getting-started/quickstart.md
bytasv Sep 13, 2022
11c548b
Update docs/data/toolpad/getting-started/quickstart.md
bytasv Sep 13, 2022
f085113
Update docs/data/toolpad/getting-started/quickstart.md
bytasv Sep 13, 2022
1d685f4
Update docs/data/toolpad/getting-started/quickstart.md
bytasv Sep 13, 2022
8db5b30
Merge branch 'master' into toolpad-documentation
bytasv Sep 13, 2022
fa4c4a6
Update docs/data/toolpad/getting-started/overview.md
bytasv Sep 13, 2022
78dbade
Update docs/data/toolpad/getting-started/quickstart.md
bytasv Sep 13, 2022
5184b69
Update docs/data/toolpad/getting-started/overview.md
bytasv Sep 13, 2022
522a623
Update docs/data/toolpad/getting-started/overview.md
bytasv Sep 13, 2022
6bbc4c8
Remove versioning entry
bytasv Sep 13, 2022
3fd051b
Fix markdown lint
bytasv Sep 13, 2022
3916548
Update docs/data/toolpad/connecting-to-datasources/queries.md
bytasv Sep 14, 2022
ebe9953
Update docs/data/toolpad/connecting-to-datasources/connections.md
bytasv Sep 14, 2022
c919a26
Update docs/data/toolpad/connecting-to-datasources/connections.md
bytasv Sep 14, 2022
7ce4dac
Update docs/data/toolpad/connecting-to-datasources/connections.md
bytasv Sep 14, 2022
4ceb100
Update docs/data/toolpad/connecting-to-datasources/connections.md
bytasv Sep 14, 2022
b1e8e4f
Update docs/data/toolpad/connecting-to-datasources/connections.md
bytasv Sep 14, 2022
e2e3a8f
Tweak postgres and google sheets instructions
bytasv Sep 14, 2022
e0746df
Update docs/data/toolpad/connecting-to-datasources/connections.md
bytasv Sep 14, 2022
2019991
Merge branch 'master' into toolpad-documentation
bytasv Sep 15, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 61 additions & 8 deletions docs/data/pages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,75 @@ const pages: MuiPage[] = [
{
pathname: '/toolpad/getting-started',
title: 'Getting started',
icon: 'CreateIcon',
icon: 'DescriptionIcon',
children: [
{ pathname: '/toolpad/getting-started/setup' },
{ pathname: '/toolpad/getting-started/tutorial', title: 'Tutorial' },
{ pathname: '/toolpad/getting-started/introduction', title: 'Introduction' },
{ pathname: '/toolpad/getting-started/quickstart', title: 'Quickstart' },
],
},
{
pathname: '/toolpad/data-fetching',
pathname: '/toolpad/connecting-to-data-sources',
title: 'Connecting to data sources',
icon: 'TableViewIcon',
children: [
{ pathname: '/toolpad/data-fetching', title: 'Overview' },
{ pathname: '/toolpad/data-fetching/rest', title: 'REST API' },
{ pathname: '/toolpad/data-fetching/google-sheets', title: 'Google Sheets' },
{ pathname: '/toolpad/data-fetching/queries' },
{
pathname: '/toolpad/connecting-to-data-sources/queries',
title: 'Queries',
},
{
pathname: '/toolpad/connecting-to-data-sources/connections',
title: 'Connections',
},
{
pathname: '/toolpad/connecting-to-data-sources/fetch',
title: 'Fetch type',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure about the "type" nomenclature. But perhaps "Fetch datasource" is too long?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gonna update it all across docs 👍

},
{
pathname: '/toolpad/connecting-to-data-sources/function',
title: 'Function type [TODO]',
},
{
pathname: '/toolpad/connecting-to-data-sources/google-sheets',
title: 'Google sheets type [TODO]',
},
{
pathname: '/toolpad/connecting-to-data-sources/sql',
title: 'SQL type [TODO]',
},
],
},
{
pathname: '/toolpad/building-ui',
title: 'Building UI [TODO]',
icon: 'VisibilityIcon',
children: [
{
pathname: '/toolpad/building-ui/build-in-components',
title: 'Built in components',
},
],
},
{
pathname: '/toolpad/data-binding',
title: 'Data binding',
icon: 'CodeIcon',
},
{
pathname: '/toolpad/versioning-and-deploying',
title: 'Versioning & deploying [TODO]',
icon: 'ToggleOnIcon',
children: [
{
pathname: '/toolpad/versioning-and-deploying/releases',
title: 'Releases',
},
],
},
{
pathname: '/toolpad/faq',
title: 'FAQ [TODO]',
icon: 'ReaderIcon',
},
];

export default pages;
48 changes: 48 additions & 0 deletions docs/data/toolpad/connecting-to-data-sources/connections.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Connections

<p class="description">
<b>CONNECTION</b> instance allows us to reuse certain configuration details to create <b>queries</b> faster
</p>

In order to create a new `CONNECTION` instance press `+` button in the `Instance editor` on the left
bytasv marked this conversation as resolved.
Show resolved Hide resolved

![Add Connection](/static/toolpad/connection.png)

## Connection types
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In terms of organizing the information, I wonder if it makes sense to group more by datasource. e.g. instead of:

* queries:
  * shared info
  * datasources
    * function
    * postgres
    * fetch
    * sheets
* connections:
  * shared info
  * datasources
    * function
    * postgres
    * fetch
    * sheets

More towards

* queries (shared info)
* connections (shared info)
* datasources
  * function
    * connection options
    * query options
  * postgres
    * connection options
    * query options
  * fetch
    * connection options
    * query options
  * sheets
    * connection options
    * query options

It's just a bit strange that if I want to set up a postgres query, I'd have to visit two different pages. First I have to find the postgres section in connections.md. And then I have to visit the postgres.md page for the actual query.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reason why I split them up initially is that it's how it's currently done in the app itself. We do have 2 separate concepts - connection and datasource. I don't really see what we could put as a shared content for Connection as each connection type is configured differently. In addition - once you setup connection you should no longer need access to it's docs.
Anyways, I'm not suggesting to close this conversation, but maybe we could aim to merge this PR and then once we have a final call on the structure for this, do necessary adjustments?


There are 2 query types that **do not require** `CONNECTION` instance:

1. [Function](/toolpad/connecting-to-data-sources/function/) type

![Connection function](/static/toolpad/connection-function-1.png)

We can define `Secrets` (key/value) that we can later access in the `Function` type `query`

![Connection function](/static/toolpad/connection-function-2.png)

1. [Fetch](/toolpad/connecting-to-data-sources/fetch/) type

![Connection fetch](/static/toolpad/connection-fetch-1.png)

We can configure:

- `base url` - url that can be shared between different types of queries
- `Headers` - pass custom headers with each request
- `Authentication` type - if your API is protected choose authentication method that fits your needs:
- `Basic` - adds `Authorization` header and generates **base64** encoded value for a given user credentials
- `Bearer token` - adds `Authorization` header generates value for provided token
- `API key` - adds key/value header

There are 2 types that **require** `CONNECTION` instance:

1. [Google Sheets](/toolpad/connecting-to-data-sources/google-sheets/) type

1. [Postgres](/toolpad/connecting-to-data-sources/postgres/) type

In order `query` data from `postgres` database we **must** configure connection

![Connection postgres](/static/toolpad/connection-postgres-1.png)

Provide database credentials and `TEST CONNECTION` to verify that we are able to connect

If everything is correct `SAVE` and you will be able to use [Postgres](/toolpad/connecting-to-data-sources/postgres/) queries
30 changes: 30 additions & 0 deletions docs/data/toolpad/connecting-to-data-sources/fetch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Fetch

<p class="description">Fetch query type is the easiest and fastest way to load external data within Toolpad app.</p>

As explained in the [connections](/toolpad/connecting-to-data-sources/connections/) section you can either create a reusable `connection` or simply create a new `query` and put all connection details inline

1. Choose `ADD QUERY` in the `Properties editor` on the right

1. Select `Fetch` type and click `CREATE QUERY`

![Fetch type](/static/toolpad/fetch-query-1.png)
oliviertassinari marked this conversation as resolved.
Show resolved Hide resolved

1. We got all the basic configuration settings as described in [queries](/toolpad/connecting-to-data-sources/queries/) section

1. In addition we can configuration following properties inline

![Fetch configuration](/static/toolpad/fetch-query-2.png)

- `parameters` - allows us to use [data bound](/toolpad/data-binding/) properties which can then be used construct dynamic `url` value
- `HTTP method` - by default `GET` is used, but we also support `POST`, `PUT`, `DELETE`, `PATHC` and `HEAD` methods
- `url` - is an endpoint to which requests will be made. We also have an option to dynamically generate `url` by using [data binding](/toolpad/data-binding/). `Parameters` can be accessed by using `query` object inside `url` `data binding` editor

![Dynamic url](/static/toolpad/fetch-query-3.png)

1. Knowing that data comes in a different shapes we provide an easy way to `transform response`

- Simply enable option by checking `Transform response`
- Then modify which properties of `data` object should be returned as a final response

![Transform response](/static/toolpad/fetch-query-4.png)
34 changes: 34 additions & 0 deletions docs/data/toolpad/connecting-to-data-sources/queries.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Queries

<p class="description">
Toolpad allows us to easily connect to external data sources and render dynamic data. The easiest way to do so is to create a new <b>QUERY</b> which can be used to fetch data
</p>

1. Locate `ADD QUERY` button in the `Properties editor` on the right

![Query](/static/toolpad/query-1.png)

2. There are currently **4 different types\*** that can be used to fetch data:

![Query types](/static/toolpad/query-2.png)

- [Function](/toolpad/connecting-to-data-sources/function/) - advanced fetching methods which gives a lot of freedom by allowing to write custom fetching code
- [Fetch](/toolpad/connecting-to-data-sources/fetch/) - basic, but very powerful. Just pass URL of an API endpoint and you are ready to query your data
- [Google Sheets](/toolpad/connecting-to-data-sources/google-sheets/) - allows accessing data from your `Google sheet` document
- [Postgres](/toolpad/connecting-to-data-sources/postgres/) - ability to hook directly into your own DB without the need to use API

\* - by default you will see only `Function` and `Fetch` types, for `Google Sheets` and `Postgres` you will first need to create a [`CONNECTION` instance](/toolpad/connecting-to-data-sources/connections/)

3. After choosing the `QUERY` type and clicking `CREATE QUERY` you will be presented with a query configuration dialog (configuration settings for each individual type are documented on their respective pages).
Janpot marked this conversation as resolved.
Show resolved Hide resolved

There are a few configuration options that are applicable to every `QUERY` type:

![Query configuration](/static/toolpad/query-3.png)

- `Refetch on window focus` - execute the query every time the window is focused to make sure you always have the latest data visible
- `Refetch on network reconnect` - execute the query every time the network status changes
- `Refetch interval` - you can configure the query to run on an interval, e.g. every **30s**. To disable this option, keep the field empty
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- `Refetch interval` - you can configure the query to run on an interval, e.g. every **30s**. To disable this option, keep the field empty
- `Refetch interval` - you can configure the query to run on an interval, e.g. **every 30s**. To disable this option, keep the field empty.

I noticed there's a lot of punctuation missing, especially in unordered lists. I quickly glanced over the core docs and there it seems lists do have punctuation.


## What's next?

[Learn all about](/toolpad/connecting-to-data-sources/connections/) `CONNECTIONS` so you can use all `QUERY` types
Copy link
Member

@Janpot Janpot Sep 5, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To make links as self describing as possible, best to include the subject in it.

I'd do

Suggested change
[Learn all about](/toolpad/connecting-to-data-sources/connections/) `CONNECTIONS` so you can use all `QUERY` types
Learn all about [`CONNECTIONS`](/toolpad/connecting-to-data-sources/connections/) to find out how to use the other `QUERY` types.

55 changes: 55 additions & 0 deletions docs/data/toolpad/data-binding.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Data binding

<p class="description">
Data binding is a widely used concept inside Toolpad app which allows us to connect various parts of the application and make them dynamically react to data changes
</p>

## Binding button

In order to initiate `data binding` look around in the UI for a binding button.

![Binding icon](/static/toolpad/data-binding-1.png)

The easiest way to tell if a value can be "data bound" is by locating binding button, i.e. `TextField` component allows us to bind every property that we could otherwise control manually

![Binding example](/static/toolpad/data-binding-2.png)

## Binding editor

Upon clicking `binding button` we will be presented with `binding editor` which allows us to define `JavaScript` expression.

At the top of the editor we can see an explanation what **type** of property we expect to be defined (i.e. above mentions `string`).

![Binding editor](/static/toolpad/data-binding-3.png)

On the left side of the editor we have a list of all the `variables` in the `scope` that can be used to define the expression.

We can either simply pass a `path` to a property of the `object` or we can also use any other `JavaScript` expression or code snippet to additionally process the value that is going to be used.

![Binding custom expression](/static/toolpad/data-binding-4.png)

All that's left is to click `UPDATE BINDING` and we can observe how application behaves

(In this example we bound value of `TextField` to the value of `Typography` component)

Empty field:

![Binding result 1](/static/toolpad/data-binding-5.png)

Field with value:

![Binding result 2](/static/toolpad/data-binding-6.png)

## Global scope variables

Sometimes we might want to define our `custom variables` that could be used for `data binding` in order to do that we can use `EDIT PAGE MODULE` functionality that can be found in the `properties editor` on the right

![Edit page module](/static/toolpad/data-binding-7.png)

We will be presented with an editor where we can define any number of variables

![Global scope](/static/toolpad/data-binding-8.png)

Once we `SAVE` our changes we can use those variables to bind value of any property

![Global variable in the editor](/static/toolpad/data-binding-9.png)
17 changes: 0 additions & 17 deletions docs/data/toolpad/data-fetching/index.md

This file was deleted.

15 changes: 0 additions & 15 deletions docs/data/toolpad/data-fetching/queries.md

This file was deleted.

24 changes: 24 additions & 0 deletions docs/data/toolpad/getting-started/introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Introduction

<p class="description">Quickly build internal tools. MUI Toolpad is a self-hosted low-code internal tools builder designed to extend the MUI React components. It's designed for developers of all trades who want to save time building internal applications.</p>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This description here "MUI Toolpad is..." seems more like an answer to What is Toolpad? below than the paragraph that is there?
Also starting out with "Quickly build internal tools" seems a bit off to me, it sounds more like a marketing subheading than a sentence that's trying to explain something.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is taken from the repo index https://github.com/mui/mui-toolpad - should we change the copy there as well?

@prakhargupta1 @apedroferreira changed the content in the docs, please lemme know what you think


## What is Toolpad?

Learn a few core concepts of the Toolpad app and you are ready to ship your application in minutes! Drag & drop pre-built UI components, connect your data sources, release your app - and you're done!

![Editor screenshot](/static/toolpad/hero-screenshot.png)

## How Toolpad works?

- [Build UI](/toolpad/core-concepts/building-ui/) using our drag & drop editor
- [Configure and fetch](/toolpad/core-concepts/connecting-to-data-sources/) data from HTTP endpoints, Google sheets or even directly from Postgres SQL DB
oliviertassinari marked this conversation as resolved.
Show resolved Hide resolved
- Connect data with UI elements using [binding expressions](/toolpad/core-concepts/data-binding/)
- When you are ready to share - [deploy](/toolpad/core-concepts/versioning-and-deploying/) a new version

## See it in action

TODO: embed our demo video from landing page?

## What's next?

[Try to build your first app](/toolpad/getting-started/quickstart/)
Loading