jnichols-git/Gate

The Dashboard

Opened this issue · 2 comments

The dashboard is one of the areas with the most significant area for improvement. While this project is currently Golang-based, any web development solution is acceptable--the dashboard just needs to be more responsive and usable before any sort of major release.

The dashboard should have the following features:

  1. Update configuration settings, primarily SMTP host settings and server functionality (enable/disable usage to bring down server without closing) and save to dat/config/config.yml.
  2. Login that checks for admin permissions. User should be redirected from the dashboard if they do not have a cookie authenticating them as an admin user.
  3. Clean and accessible design

I'd be happy to take this. Is a React frontend acceptable or would you like it to be vanilla?

Sorry for the late reply here. React is acceptable--decoupling the dashboard from the actual server will be required, but is probably a good choice for stability.

This does introduce a bit of a complication in that the dashboard has two components; the dashboard frontend and the dashboard API. The API will need to remain as part of the Go program, so the frontend can still use those API endpoints, but cannot directly define them. I will take on getting those two components fully decoupled so that working with the UI is easier. I'll keep in touch about progress on this front. Theoretically, this weekend, the Kubernetes PR can go through, and that will help direct some of this work.