megalista icon indicating copy to clipboard operation
megalista copied to clipboard

Add a frontend to Firestore-based config.

Open caiotomazelli opened this issue 3 years ago • 3 comments

caiotomazelli avatar Mar 12 '21 22:03 caiotomazelli

@caiotomazelli a configuração por JSON é para ser uma forma alternativa ao planilha do spreadsheet?

Se sim, não seria melhor utilizar o Filestore ou até mesmo uma tabela no BQ?

joaquimsn avatar Mar 17 '21 23:03 joaquimsn

Hey Joaquim, thanks for the suggestion! Following your comment and @nivaldoh Firestore datasource PR, we can use this issue to discuss options for a Frontend to manage a config living in Firestore.

caiotomazelli avatar Apr 30 '21 19:04 caiotomazelli

Hi, the initial version I have for the frontend is as follows:

Users are able to access an App Engine URL, and are greeted with a list of all supported destinations. One possible improvement would be to add extra info about each option UI1

After selecting an option, users are directed to a page with destination-specific fields. I experimented with ways to make the interface easy to use for non-technical users (which seemed to be a likely user base in our context). I also added fields such as user name and requester name, for the sole purpose of adding some traceability to each configuration registered. UI2

I added field explanations on hover, and adding field-specific checks and warnings would be the next priority. Confirming the existence of the BigQuery dataset and table could also be quite useful. Being able to visualize all active schedules and easily remove them is already a feature on Sheets, and also important here (although it might require a login system).

As soon as the user confirms registration, as success page is displayed, with an option to add a new configuration. This also stores the data in a (currently harcoded) collection in Firestore. An interesting improvement would be to automatically create a Scheduler job, assuming all data is valid.

The interface is quite barebones for now, but it provides two advantages over other methods:

  1. It does not rely on the Google Sheets domain, which has been blacklisted in some of our clients.
  2. It is meant to provide a friendly interface for non-technical users.

I'm very interested in hearing your opinions about this, as well as new ideas for improvements! I am looking to open a new PR about this in the near future.

nivaldoh avatar May 25 '21 02:05 nivaldoh