storj/satellite/admin/ui
Ivan Fraixedes 6555a68fa9 satellite/admin: Serve back-office static UI
Serve the front-end sources of the new back-office through the current
satellite admin server under the path `/back-office`.

The front-end is served in the same way than the current one, which is
through an indicated directory path with a configuration parameter or
embed in the binary when that configuration parameter is empty.

The commit also slightly changes the test that checks serving these
static assets for not targeting the empty file in the build folder.

build folders must remain because of the embed directive.

Change-Id: I3c5af6b75ec944722dbdc4c560d0e7d907a205b8
2023-09-26 13:18:29 +00:00
..
build satellite/admin/ui: avoid needing an additional copy 2022-03-25 11:42:22 +02:00
src satellite/admin: extend API to allow setting and deleting account level geofence 2023-08-09 03:34:37 +00:00
static satellite/admin/ui: avoid needing an additional copy 2022-03-25 11:42:22 +02:00
.eslintrc.cjs satellite/admin/ui: Migrate to SvelteKit 2021-12-17 10:27:13 +00:00
.gitignore satellite/admin: Serve back-office static UI 2023-09-26 13:18:29 +00:00
.prettierrc satellite/admin/ui: Migrate to SvelteKit 2021-12-17 10:27:13 +00:00
assets_noembed.go satellite/admin/ui,web/{multinode,storagenode}: build without embedding 2022-03-29 13:18:04 +03:00
assets.go satellite/admin/ui,web/{multinode,storagenode}: build without embedding 2022-03-29 13:18:04 +03:00
build-if-changed.sh build: fix conditional run of web builds 2022-08-11 14:34:44 +00:00
build.sh satellite/admin/ui: use a valid go.mod stub 2022-09-28 12:41:30 +00:00
package-lock.json satellite/admin/ui: Update NPM dependencies 2022-06-02 13:24:15 +02:00
package.json satellite/admin/ui: Update NPM dependencies 2022-06-02 13:24:15 +02:00
README.md satellite/admin/ui: avoid needing an additional copy 2022-03-25 11:42:22 +02:00
svelte.config.js satellite/admin/ui: Update NPM dependencies 2022-06-02 13:24:15 +02:00
tsconfig.json satellite/admin/ui: Migrate to SvelteKit 2021-12-17 10:27:13 +00:00

Admin UI

Implementation details

This is a project based on the Sveltekit.

The project is set up with Typescript.

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 run the development server with autoreload on changes

npm run dev

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

Building for production mode

To create an optimized version of the app:

npm run build