storj/web/satellite
Moby von Briesen 7e4e1040f2 satellite/console: Add endpoint for clientside analytics events
This is a very simple endpoint which allows the satellite UI client to
notify the console server that an event has occurred. We will use this
to track when users have completed certain tasks that can't be tracked
server-side (e.g. generating gateway credentials, setting a passphrase)

As part of this change, one client side event is implemented to use the
endpoint - when the user clicks the button to create gateway credentials
after making a new access grant.

Change-Id: Ic8fa729f1c84474788e1de84c18532aef8e8fa3c
2021-04-07 14:23:26 +00:00
..
src satellite/console: Add endpoint for clientside analytics events 2021-04-07 14:23:26 +00:00
static web/satellite: split AG wizard's result step into two 2021-04-06 10:42:13 +00:00
tests/unit satellite/payments: Update coupon defaults for free tier 2021-04-05 10:12:26 -04:00
.env satellite: added ability to inject stripe public key post build (#3560) 2019-11-18 13:38:43 +02:00
.gitignore web/satellite: downgrade typescript and pin stuff (#2918) 2019-08-29 17:27:48 -06:00
babel.config.js CSP implementation for satellite console (#2644) 2019-07-30 13:13:24 +03:00
Dockerfile build: update node to v14.15.3 (#4007) 2020-12-20 17:20:19 +01:00
entrypoint Adding dockerfile for running the web UI for Satellite (#1366) 2019-02-28 13:18:53 -07:00
index.html web/satellite: ui changes to registration and billing pages to enable user to add promo codes to their account 2021-03-26 11:57:11 -04:00
jestSetup.ts updates copyright 2018 to 2019 (#1133) 2019-01-24 15:15:10 -05:00
package-lock.json web/satellite: import and setup AWS s3 client 2021-03-25 13:50:18 +00:00
package.json web/satellite: import and setup AWS s3 client 2021-03-25 13:50:18 +00:00
README.md Merge 'master' branch 2020-11-10 11:58:59 +00:00
tsconfig.json satellite/web: add segmentio plugin (#3405) 2019-11-27 11:57:59 -05:00
tslint.json web/satellite: vue-svg-loader implemented (#3307) 2019-10-23 15:26:39 +03:00
vue.config.js web/satellite: use brotli instead of gzip 2020-12-17 19:23:44 +00:00

storj-dev-panel

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Run your tests

npm run test

Lints and fixes files

npm run lint

Run your unit tests

npm run test:unit

Build docker container

From root of the repository, run:

make satellite-ui-image

Run docker container

docker run -p 8080:8080 storjlabs/satellite-ui:latest

1. Project structure:

  • src folder: contains main project components such as api, store, router, etc.
  • static folder: contains all project static resources such as images, fonts, pages.
  • tests folder: - contains project unit tests.
  • configuration files.

src

  • api folder: contains API for project modules such as auth, project, etc. We are using both GraphQL and HTTP implementations.
  • components folder: contains hierarchy of vue single file components sorted thematically.
  • router folder: contains project browser locations structure file.
  • store folder: contains global state management file broken into modules.
  • types folder: contains project classes and types.
  • utils folder: contains constants, plugins and utility files for formatting, validation, data transferring, etc.
  • views folder: same as components, but for root ones.
  • App.vue root project component.
  • main.ts Vue instance initialization file. Here filters and declarations are placed. Also plugins, store and router are connecting to Vue instance.

static

  • activation folder: contains page template that appears after account verification via email.
  • emails folder: contains all emails templates.
  • errors folder: contains 50x and 40x error pages templates.
  • fonts folder: contains Inter font sets in ttf format.
  • images folder: contains illustrations.
  • reports folder: contains usage report table template.
  • resetPassword folder: contains page template for password reset and success page that appears after.

tests

  • unit folder: contains project unit tests.

Configuration files

  • .env: file for environment level variables.
  • .gitignore: folders, files and extensions which are ignored for git.
  • babel.config.js: babel configuration for javascript transcompilation.
  • index.html: DOM entry point.
  • jestSetup.ts: jest configuration for unit testing.
  • package.json: file holds various metadata relevant to the project such as version, dependencies, scripts and configurations.
  • tsconfig.json: holds TypeScript configurations.
  • tslint.json: holds TypeScript linter configurations.
  • vue.config.js: holds Vue configurations.