mui / toolpad

Toolpad: Full stack components and low-code builder for dashboards and internal apps.
https://mui.com/toolpad/
MIT License
1.07k stars 271 forks source link

[EPIC] Online demo version #592

Closed Janpot closed 1 year ago

Janpot commented 2 years ago

Allow evaluation of Toolpad through an online demo. Toolpad doesn't support authentication yet. The goal is to demonstrate a subset of the app building experience.

The demo version will be unauthenticated. We will disable all possibilities of entering sensitive data.

To Do:

apedroferreira commented 2 years ago

Will do in 3 separate PRs (actually will separate into issues as it's too much stuff):

prakhargupta1 commented 2 years ago

Correct me if I am wrong, we will provide 3 pre-enabled connections:

  1. Stats app public API (Template 1)
  2. Dog app API (Template 2)
  3. Fake movies API

@bytasv Regarding examples in our docs, is there any other connection that you think we should provide?

bytasv commented 2 years ago

I think it really depends how much freedom we want to give. There is also google sheets and postgres that must use connection. But it seems that for demo purposes all we gonna allow us a short list of allowed URLs that users can try to use for fetching in fetch or function datasource?

apedroferreira commented 2 years ago

It shouldn't be too difficult to add more APIs similar to movies just to enable more options, as long as they have about the same functionality.

Janpot commented 2 years ago

But it seems that for demo purposes all we gonna allow us a short list of allowed URLs that users can try to use for fetching in fetch or function datasource?

A whitelist of urls for the fetch/function datasources could be an idea. The only thing I'd still be worried about is Toolpad being used for DDOS attacks to those urls.

Another thing that we should probably consider for "application changes" is the addition of a captcha when creating a Toolpad application.

apedroferreira commented 2 years ago

I've created separate issues for adding metrics as it might not be such a simple task and seems a bit independent from creating the online demo.

This issue can be about building the demo itself + hosting it.

One more note about:

database workload (Can we monitor this sufficiently on render.com)

Render does have some default database metrics, other than that they have a Datadog integration for Postgres databases. If we want automatic alerts it's a paid feature of Datadog I think (not sure if Render alerts us if we get to certain % of memory or CPU usage). So if we want to use anything other than the default Render metrics maybe we should create a separate issue for it too.

oliviertassinari commented 2 years ago

Relative to the demo app experience, I have found:

Screenshot 2022-10-20 at 15 13 11

https://app.forestadmin.com/Live%20Demo/Production/Operations/data/806052/index

Maybe it would make sense to have a banner for our demo app to point to how to install it. I haven't seen our demo app UX yet. (I changed ForestAdmin banner color contrast because OMG black).

apedroferreira commented 2 years ago

Relative to the demo app experience, I have found:

Screenshot 2022-10-20 at 15 13 11

https://app.forestadmin.com/Live%20Demo/Production/Operations/data/806052/index

Maybe it would make sense to have a banner for our demo app to point to how to install it. I haven't seen our demo app UX yet. (I changed ForestAdmin banner color contrast because OMG black).

Would that be a link for the instructions on how to self-host? We should have space for a banner like this in the demo, we could make an issue for it if you think it's worth adding. I think it's worth it if we're interested in having demo users try to self-host the app. Issue link: #1254

apedroferreira commented 1 year ago

I've just deployed the latest version of the demo, it should be functional. Some notes:

We can easily add pre-created queries though if you still think it would make sense.

There's also a couple more small things we maybe should fix before launching the demo:

Janpot commented 1 year ago

Should we just disable being able to create connections for now in the demo

connections are a server side thing and will become when more so when we make them global so I'd say yes

apedroferreira commented 1 year ago

@prakhargupta1 The demo should be good to go unless there's anything else!

oliviertassinari commented 1 year ago

@apedroferreira Awesome! I have started to use the demo app in https://github.com/mui/mui-x/issues/6899#issuecomment-1331089873. I have one last question: https://github.com/mui/mui-toolpad/issues/1213#issuecomment-1332538744.

apedroferreira commented 1 year ago

Can we finally close this issue? :) Or should we keep it ongoing?

prakhargupta1 commented 1 year ago

Can we finally close this issue? :) Or should we keep it ongoing?

yes sure, marking it closed.