shlink-web-client icon indicating copy to clipboard operation
shlink-web-client copied to clipboard

Preparation for shlink-dashboard

Open acelaya opened this issue 4 years ago • 3 comments

Shlink web client is a fully static web app, with no backend.

That's pretty convenient, and simplifies a lot of things, but also introduces some limitations.

  • Servers and configuration is not shared, which means every time you open the app in a new device, you need to configure it from scratch.
  • Everything is public, so you cannot set permissions or user authentication.
  • Shlink API keys are stored in the browser, which is a bit risky if someone else can access your computer.
  • Many people don't understand the difference of a web app with backend and without it, which makes them not understand why the former points are not possible.

Since there has been requests for this in the past, I'm considering a new shlink-dashboard project, which would be a web client but with its own backend for frontend.

In order to do it, we need to split shlink-web-client, having a subcomponent which wraps all the operations done when you are connected to a server.

This component would be reused by both shlink-web-client and shlink-dashboard, and the list of servers, configs, etc, would be handled differently by each one of them.

It should aslo allow (at some point) to provide the list of permissions, so that shlink-dashboard can "hide" sections based on the user's permissions.

Once the component has been split (shlink-web-component?), it can be moved to its own repo and published separately as an npm package.


  • [ ] Wrap own redux state
  • [ ] Pass a Shlink client, so that requests can be abstracted via BFF or made directly from the browser.

acelaya avatar Nov 25 '20 05:11 acelaya

Hi @acelaya, it's great! would then be possible to export the chart data?

garethjax avatar Dec 14 '20 07:12 garethjax

Hey @garethjax.

That's something I have considered many times. Could you please open a separate feature request ticket for that?

acelaya avatar Dec 14 '20 07:12 acelaya

of course!

garethjax avatar Dec 14 '20 08:12 garethjax

All preparations are done.

acelaya avatar Aug 14 '23 11:08 acelaya

Hey, we're interested by this project! Is there any ETA for the Shlink Dashboard? Any way to help? Any todo list?

mvalois avatar Feb 21 '24 15:02 mvalois