storj/satellite/admin/ui
Ivan Fraixedes bae8276f3f
satellite/admin/ui: Add missing geofencing endpoints
The satellite admin server was augmented with 3 new endpoints to manage
buckets geofencing configurations, however, they weren't created in the
admin UI API class for making them available in the web interface.

This commit adds these new endpoints to the admin UI.

Change-Id: If060d1f10a3bc6c365e16a891673d4ffc89e4b41
2021-11-30 18:04:22 +01:00
..
.vscode satellite/admin/ui: Create Web UI v1 2021-11-09 09:59:35 +00:00
public satellite/admin/ui: Create Web UI v1 2021-11-09 09:59:35 +00:00
src satellite/admin/ui: Add missing geofencing endpoints 2021-11-30 18:04:22 +01:00
.gitignore satellite/admin/ui: Create Web UI v1 2021-11-09 09:59:35 +00:00
.prettierrc.toml satellite/admin/ui: Create Web UI v1 2021-11-09 09:59:35 +00:00
package-lock.json satellite/admin/ui: Create Web UI v1 2021-11-09 09:59:35 +00:00
package.json satellite/admin/ui: Create Web UI v1 2021-11-09 09:59:35 +00:00
README.md satellite/admin/ui: Create Web UI v1 2021-11-09 09:59:35 +00:00
rollup.config.js satellite/admin/ui: fix rollup building 2021-11-09 13:16:37 +00:00
tsconfig.json satellite/admin/ui: Create Web UI v1 2021-11-09 09:59:35 +00:00

Admin UI

Implementation details

This is a project based on the Svelte template for apps.

The project templated was converted to Typescript following the instructions on its README.

The Web App is currently straightforward as we specified that v1 would be.

The v1 is just a simple web page that exposes the Admin API through some forms and allow to a call the API without needing to use some HTTP REST clients (e.g. Postman, cURL, etc.). It doesn't offer any user authentication; the user has to know the API authorization token for using it.

The UI has a set of Svelte components that collaborate together to render an HTML form with input elements from the Admin API client. The Svelte components expect some values of a certain Typescript interfaces, types, and classes, for being able to dynamically render the HTML form and elements.

Each source has a brief doc comment about its functionality.

Development

Install the dependencies...

npm install

...then start Rollup:

npm run dev

Navigate to localhost:5000. You should see your app running.

By default, the server will only respond to requests from localhost. To allow connections from other computers, edit the sirv commands in package.json to include the option --host 0.0.0.0.

Building for production mode

To create an optimised version of the app:

npm run build