This project uses Vue.js v2 framework with Axios as the HTTP client. For UI design, it follows Material Design with Vuetify framework.
For configs of Vue.js, please go to vue.config.json, for more custome configs, please refer to Vue.js config reference.
For configs of Axios, please go to src/axios/index.js.
Make sure you have Node.js and npm installed first.
To install all dependencies, run:
npm installTo compile and run/hot-reload for development, run:
npm run serve(Then the web runs on localhost:8080 by default.)
To compile and minify for production, run:
npm run build(It then outputs the compiled static webpages under dist/)
To lint and fix files, run:
npm run lint/scans # Main manage view
/group_view? # Group view (1 param)
(type=sceneNames) # Group by scene names
(type=sceneTypes) # Group by scene types
(type=devices) # Group by scene devices
(type=tags) # Group by tags
(type=users) # Group by users
/annotations # IFrame of annotations
(Note: to modify endpoints, please go to src/router/index.js)
All source code is under src/, in high-level, code is organized in web pages, each web page corresponds to one endpoint as described in the Web Page Endpoint section:
src/ScansPage(/scans)src/GroupViewPage(/group_view?)src/AnnotationsPage(/annotations)
Under each page folder, code is organized in lower-level components (e.g. dialog, progress indicator, etc.). Each *.vue file corresponds to one component in the current web page, each index.vue controls the whole web page. Specifically, each *.vue has three parts:
- html (enclosed with
<template>tag) - javascript (enclosed with
<script>tag) - css (enclosed with
<style>tag)
For more details, please refer to Vue.js official guide.