You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@age.apache.org by em...@apache.org on 2021/11/17 03:50:50 UTC

[incubator-age-viewer] branch main updated: Add ASF license (#13)

This is an automated email from the ASF dual-hosted git repository.

emotionbug pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-age-viewer.git


The following commit(s) were added to refs/heads/main by this push:
     new 2b8b3a5  Add ASF license (#13)
2b8b3a5 is described below

commit 2b8b3a591dc07bb5adadc995b938fc0b16aa6560
Author: Alex Kwak <ta...@kakao.com>
AuthorDate: Wed Nov 17 12:50:43 2021 +0900

    Add ASF license (#13)
---
 .dockerignore                                      |  18 ++++
 .gitattributes                                     |  18 ++++
 .gitignore                                         |  18 ++++
 Dockerfile                                         |  18 ++++
 README-ko.md                                       |  61 -----------
 backend/.gitignore                                 |  19 +++-
 backend/package.json                               | 111 +++++++++++----------
 backend/sql/get_role/default.sql                   |  19 ++++
 backend/sql/graph_labels/AGE.sql                   |  19 ++++
 backend/sql/graph_labels/AGENS.sql                 |  19 ++++
 backend/sql/label_count_edge/AGENS.sql             |  19 ++++
 backend/sql/label_count_vertex/AGENS.sql           |  19 ++++
 backend/sql/meta_edges/AGE.sql                     |  19 ++++
 backend/sql/meta_edges/AGENS.sql                   |  19 ++++
 backend/sql/meta_nodes/AGE.sql                     |  19 ++++
 backend/sql/meta_nodes/AGENS.sql                   |  19 ++++
 backend/sql/property_keys/AGE.sql                  |  19 ++++
 backend/sql/property_keys/AGENS.sql                |  19 ++++
 backend/src/app.js                                 |  25 +++--
 backend/src/bin/www.js                             |  19 ++++
 backend/src/common/Routes.js                       |  21 +++-
 backend/src/config/Flavors.js                      |  19 ++++
 backend/src/config/Pg.js                           |  21 +++-
 backend/src/config/winston.js                      |  25 +++--
 backend/src/controllers/FeatureController.js       |  19 ++++
 backend/src/controllers/agcloudController.js       |  25 +++--
 backend/src/controllers/cypherController.js        |  25 +++--
 backend/src/controllers/databaseController.js      |  25 +++--
 .../src/models/agensgraph/agensGraphRepository.js  |  25 +++--
 backend/src/routes/FeatureRouter.js                |  19 ++++
 backend/src/routes/agcloudRouter.js                |  25 +++--
 backend/src/routes/cypherRouter.js                 |  25 +++--
 backend/src/routes/databaseRouter.js               |  27 ++---
 backend/src/routes/sessionRouter.js                |  27 ++---
 backend/src/services/cypherService.js              |  25 +++--
 backend/src/services/databaseService.js            |  25 +++--
 backend/src/services/sessionService.js             |  27 ++---
 backend/src/tools/AGEParser.js                     |  19 ++++
 backend/src/tools/Agtype.g4                        |  17 ++++
 backend/src/tools/Agtype.interp                    |  57 -----------
 backend/src/tools/Agtype.tokens                    |  32 ------
 backend/src/tools/AgtypeLexer.interp               |  81 ---------------
 backend/src/tools/AgtypeLexer.js                   |  19 ++++
 backend/src/tools/AgtypeLexer.tokens               |  32 ------
 backend/src/tools/AgtypeListener.js                |  19 ++++
 backend/src/tools/AgtypeParser.js                  |  19 ++++
 backend/src/tools/CustomAgTypeListener.js          |  19 ++++
 backend/src/tools/SQLFlavorManager.js              |  19 ++++
 backend/src/util/JsonBuilder.js                    |  19 ++++
 backend/test/ageParsing.test.js                    |  19 ++++
 backend/test/connectParam.js                       |  19 ++++
 backend/test/connector.api.test.js                 |  19 ++++
 backend/test/cypher.api.test.js                    |  19 ++++
 backend/test/cypher.service.test.js                |  19 ++++
 backend/test/meta.api.test.js                      |  19 ++++
 backend/test/session.api.test.js                   |  19 ++++
 contributing.md                                    |   0
 docker-entrypoint.sh                               |  18 ++++
 ecosystem.config.js                                |  59 +++++++----
 frontend/.eslintrc.js                              |  19 ++++
 frontend/.gitignore                                |  20 +++-
 frontend/package.json                              |   8 ++
 frontend/public/browserconfig.xml                  |  19 ++++
 frontend/public/index.html                         |  19 ++++
 frontend/public/safari-pinned-tab.svg              |  19 ++++
 frontend/src/App.css                               |  19 ++++
 frontend/src/App.jsx                               |  25 +++--
 frontend/src/app/reducers.js                       |  25 +++--
 frontend/src/app/store.js                          |  25 +++--
 .../components/alert/containers/AlertContainers.js |  25 +++--
 .../src/components/alert/presentations/Alert.jsx   |  25 +++--
 .../src/components/contents/containers/Contents.js |  25 +++--
 .../src/components/contents/containers/Editor.js   |  25 +++--
 .../src/components/contents/containers/Frames.js   |  25 +++--
 .../components/contents/presentations/Contents.jsx |  25 +++--
 .../contents/presentations/Contents.module.scss    |  21 +++-
 .../components/contents/presentations/Editor.jsx   |  25 +++--
 .../components/contents/presentations/Frames.jsx   |  25 +++--
 frontend/src/components/csv/index.jsx              |  19 ++++
 .../cypherresult/components/EdgeThicknessMenu.jsx  |  19 ++++
 .../cypherresult/components/GraphFilterModal.jsx   |  19 ++++
 .../cypherresult/components/popover.module.scss    |  27 ++++-
 .../containers/CypherResultCytoscapeContainer.js   |  25 +++--
 .../containers/CypherResultMetaContainer.js        |  25 +++--
 .../containers/CypherResultTableContainer.js       |  25 +++--
 .../containers/CypherResultTextContainer.js        |  25 +++--
 .../presentations/CypherResultCytoscape.jsx        |  25 +++--
 .../presentations/CypherResultMeta.jsx             |  25 +++--
 .../presentations/CypherResultTable.jsx            |  25 +++--
 .../presentations/CypherResultText.jsx             |  25 +++--
 .../cytoscape/CypherResultCytoscapeChart.jsx       |  25 +++--
 .../cytoscape/CypherResultCytoscapeFooter.jsx      |  25 +++--
 .../cytoscape/CypherResultCytoscapeLegend.jsx      |  25 +++--
 .../src/components/cytoscape/CypherResultTab.jsx   |  28 +++---
 .../src/components/cytoscape/CytoscapeConfig.js    |  19 ++++
 .../src/components/cytoscape/CytoscapeLayouts.js   |  27 ++---
 .../components/cytoscape/CytoscapeStyleSheet.js    |  19 ++++
 .../cytoscape/MetadataCytoscapeChart.jsx           |  19 ++++
 .../editor/containers/CodeMirrorWapperContainer.js |  25 +++--
 .../containers/SideBarMenuToggleContainer.js       |  25 +++--
 .../editor/presentations/CodeMirrorWrapper.jsx     |  25 +++--
 .../editor/presentations/SidebarMeunuToggle.jsx    |  25 +++--
 frontend/src/components/frame/Frame.jsx            |  19 ++++
 frontend/src/components/frame/Frame.module.scss    |  19 ++++
 .../frame/containers/ContentsFrameContainer.js     |  25 +++--
 .../containers/CypherGraphResultContainers.js      |  25 +++--
 .../frame/containers/CypherResultContainers.js     |  25 +++--
 .../frame/containers/ServerConnectContainer.js     |  25 +++--
 .../frame/containers/ServerDisconnectContainer.js  |  25 +++--
 .../frame/containers/ServerStatusContainer.js      |  25 +++--
 .../frame/presentations/ContentsFrame.jsx          |  25 +++--
 .../frame/presentations/CypherGraphResultFrame.jsx |  25 +++--
 .../frame/presentations/CypherResultFrame.jsx      |  25 +++--
 .../frame/presentations/ServerConnectFrame.jsx     |  25 +++--
 .../presentations/ServerConnectFrame.module.scss   |  19 ++++
 .../frame/presentations/ServerDisconnectFrame.jsx  |  25 +++--
 .../frame/presentations/ServerStatusFrame.jsx      |  25 +++--
 .../components/navigator/containers/Navigator.js   |  25 +++--
 .../navigator/presentations/Navigator.jsx          |  25 +++--
 .../navigator/presentations/NavigatorItem.jsx      |  25 +++--
 .../src/components/sidebar/containers/Sidebar.js   |  25 +++--
 .../components/sidebar/containers/SidebarAbout.js  |  19 ++++
 .../components/sidebar/containers/SidebarHome.js   |  25 +++--
 .../sidebar/containers/SidebarSetting.js           |  19 ++++
 .../components/sidebar/presentations/Sidebar.jsx   |  25 +++--
 .../sidebar/presentations/SidebarAbout.jsx         |  19 ++++
 .../sidebar/presentations/SidebarComponents.jsx    |  19 ++++
 .../sidebar/presentations/SidebarHome.jsx          |  25 +++--
 .../sidebar/presentations/SidebarSetting.jsx       |  25 +++--
 .../src/components/template/DefaultTemplate.js     |  25 +++--
 .../template/presentations/DefaultTemplate.jsx     |  25 +++--
 frontend/src/conf/config.js                        |  19 ++++
 frontend/src/documents/tutorial/northwind.jsx      |  27 ++---
 frontend/src/features/alert/AlertSlice.js          |  25 +++--
 frontend/src/features/capture/Capture.js           |  19 ++++
 frontend/src/features/cookie/CookieUtil.js         |  19 ++++
 frontend/src/features/cypher/CypherSlice.js        |  27 ++---
 frontend/src/features/cypher/CypherUtil.js         |  25 +++--
 frontend/src/features/database/DatabaseSlice.js    |  25 +++--
 frontend/src/features/database/MetadataSlice.js    |  25 +++--
 frontend/src/features/editor/EditorSlice.js        |  27 ++---
 frontend/src/features/frame/FrameSlice.js          |  27 ++---
 frontend/src/features/menu/MenuSlice.js            |  27 ++---
 frontend/src/features/setting/SettingSlice.js      |  27 ++---
 frontend/src/index.css                             |  19 ++++
 frontend/src/index.jsx                             |  25 +++--
 .../src/lib/cytoscape-cxtmenu-bitnine/assign.js    |  19 ++++
 .../lib/cytoscape-cxtmenu-bitnine/core/index.js    |  19 ++++
 .../src/lib/cytoscape-cxtmenu-bitnine/cxtmenu.js   |  19 ++++
 .../src/lib/cytoscape-cxtmenu-bitnine/defaults.js  |  19 ++++
 .../src/lib/cytoscape-cxtmenu-bitnine/dom-util.js  |  19 ++++
 .../src/lib/cytoscape-cxtmenu-bitnine/index.js     |  19 ++++
 frontend/src/pages/Main/MainPage.jsx               |  25 +++--
 frontend/src/static/google-Poppins.css             |  21 +++-
 frontend/src/static/icons/css/fontello.css         |  45 ++++++---
 frontend/src/static/icons/font/fontello.svg        |  21 +++-
 frontend/src/static/navbar-fixed-left.css          |  19 ++++
 frontend/src/static/style.css                      |  51 +++++++---
 package.json                                       |  37 ++++---
 159 files changed, 2626 insertions(+), 1226 deletions(-)

diff --git a/.dockerignore b/.dockerignore
index 5d936aa..da8563f 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,3 +1,21 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
 node_modules
 **/node_modules
 README*
diff --git a/.gitattributes b/.gitattributes
index 89d09bd..a037348 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,3 +1,21 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
 *.scss text eol=lf
 *.css text eol=lf
 
diff --git a/.gitignore b/.gitignore
index 7083308..6e5c27f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,21 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
 
 # Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode,node,react
 # Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode,node,react
diff --git a/Dockerfile b/Dockerfile
index 76afdf9..8905250 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,3 +1,21 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
 FROM node:14-alpine3.13
 
 RUN mkdir -p /app
diff --git a/README-ko.md b/README-ko.md
deleted file mode 100644
index fe21ae1..0000000
--- a/README-ko.md
+++ /dev/null
@@ -1,61 +0,0 @@
-[ENGLISH](./README.md)
-
-# AGViewer &middot; [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
-AGViewer는 Agens 제품군의 그래프 시각화 도구입니다. 
-
-- [Getting Started](#1-getting-started)
-
-## 1. Getting Started
-AGViewer는 Node.js 기반의 프로젝트 입니다.  
-로컬 개발 환경을 사용하여 빠르게 시작하고, 실행할 수 있습니다.
-
-우선적으로 기동을 위해서는 Node.js와 Yarn ( 혹은,  NPM 같은 다른 패키지 매니저 )이 필요합니다.
-
-- macOS: `brew install node`
-- Windows: `choco install nodejs`  
-  * **choco**는 윈도우 패키지 매니저 명령어입니다. [Install Chocolatey!](https://chocolatey.org/install)
-- Ubuntu: `apt install nodejs npm`
-
-공식 Node.js 설치 가이드 : https://nodejs.org/ko/download/
-
-#### 초기 개발 환경 구동
-
-AGViewer는 데이터베이스와의 직접적 통신과 같은 WebBrowser에서 처리하지 못하는 기능을 수행하기 위하여, Back-end와 Front-end로 구성됩니다.
-
-Back-end는 Express.js 기반으로 Database의 Connection을 관리하고, Front-end에서 발생하는 이벤트를 처리하도록 개발되어 있으며,  
-Front-end는 React.js 기반으로 사용자에게 렌더링 하는 것에 초점이 이루어져 있습니다.
-
-```bash
-npm install
-cd frontend && npm install
-cd ..
-cd backend && npm install
-
-npm run start
-```
-
-#### 배포
-
-React.js 기반인 Front-end를 빌드하면, 한개의 HTML 파일과 여러개의 JS / CSS 의 형태의 파일들이 생성됩니다.
-
-생성되는 한개의 HTML 파일이 entry 가 되며, HTML5의 History API를 이용하여, 페이지 주소가 이동한 것처럼 동작하게 됩니다.
-
-그리하여, nginx나 express 등 해당 파일을 호스팅할 경우 JS와 CSS 가 아닐 경우는 모두 HTML로 호스팅되도록 설정해야 합니다.
-
-```bash
-npm install
-cd frontend && yarn build
-# frontend 폴더에 build 폴더로 HTML/CSS/JS가 생성됩니다.
-cd ..
-# PORT 변경
-# Powsershell
-# $env:PORT="5555"
-
-# CMD
-# set PORT=5555
-
-# SHELL
-# PORT=5555 npm run start
-
-cd backend && npm run start
-```
diff --git a/backend/.gitignore b/backend/.gitignore
index 852b41c..4e841d6 100644
--- a/backend/.gitignore
+++ b/backend/.gitignore
@@ -1,3 +1,20 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
 
 # Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode,node,react
 # Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode,node,react
@@ -139,4 +156,4 @@ sketch
 ### react frontend ###
 frontend/build
 
-# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode,node,react
\ No newline at end of file
+# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode,node,react
diff --git a/backend/package.json b/backend/package.json
index 60f3f2e..5ba7b23 100644
--- a/backend/package.json
+++ b/backend/package.json
@@ -1,55 +1,62 @@
 {
-    "name": "ag-viewer-backend",
-    "version": "0.4.0",
-    "private": true,
-    "scripts": {
-        "test": "mocha -r @babel/register --exit --timeout 100000",
-        "test:connector": "mocha -r @babel/register --exit --timeout 10000 ./test/connector.api.test.js",
-        "test:metachart": "mocha -r @babel/register --exit --timeout 10000 ./test/meta.api.test.js",
-        "test:cypher": "mocha -r @babel/register --exit --timeout 10000 ./test/cypher.api.test.js",
-        "test:session": "mocha -r @babel/register --exit --timeout 10000 ./test/session.api.test.js",
-        "test:query": "mocha -r @babel/register --exit --timeout 10000 ./test/cypher.service.test.js",
-        "test:ageParsing": "mocha -r @babel/register --exit --timeout 10000 ./test/ageParsing.test.js",
-        "start": "babel-node src/bin/www",
-        "start:dev": "nodemon --watch src/app.js --watch src/ --exec 'babel-node' src/bin/www",
-        "build": "babel -d ./build ./src -s",
-        "start:production": "node ./build/bin/www.js"
-    },
-    "dependencies": {
-        "@bitnine-oss/ag-driver": "^0.1.0",
-        "antlr4": "^4.9.2",
-        "cookie-parser": "~1.4.5",
-        "cors": "^2.8.5",
-        "csv": "^5.5.0",
-        "debug": "~4.3.1",
-        "ejs": "^3.1.6",
-        "express": "~4.17.1",
-        "express-session": "^1.17.1",
-        "http-status": "^1.5.0",
-        "morgan": "~1.10.0",
-        "multer": "^1.4.2",
-        "npm-run-all": "^4.1.5",
-        "pegjs": "^0.10.0",
-        "pg": "^8.5.1",
-        "pg-types": "^2.2.0",
-        "uuid": "^8.3.2",
-        "winston": "^3.3.3",
-        "winston-daily-rotate-file": "^4.5.0"
-    },
-    "devDependencies": {
-        "@babel/cli": "^7.12.13",
-        "@babel/core": "^7.12.13",
-        "@babel/node": "^7.12.13",
-        "@babel/plugin-proposal-class-properties": "^7.13.0",
-        "@babel/plugin-transform-runtime": "^7.12.15",
-        "@babel/preset-env": "^7.12.13",
-        "@babel/register": "^7.12.13",
-        "babel-plugin-polyfill-corejs2": "^0.2.0",
-        "babel-plugin-polyfill-corejs3": "^0.2.0",
-        "babel-plugin-polyfill-regenerator": "^0.2.0",
-        "mocha": "^8.2.1",
-        "nodemon": "^2.0.7",
-        "supertest": "^6.0.1",
-        "supertest-session": "^4.1.0"
+  "name": "ag-viewer-backend",
+  "version": "0.4.0",
+  "private": true,
+  "license": "Apache-2.0",
+  "licenses": [
+    {
+      "type": "Apache-2.0",
+      "url": "https://www.apache.org/licenses/LICENSE-2.0"
     }
+  ],
+  "scripts": {
+    "test": "mocha -r @babel/register --exit --timeout 100000",
+    "test:connector": "mocha -r @babel/register --exit --timeout 10000 ./test/connector.api.test.js",
+    "test:metachart": "mocha -r @babel/register --exit --timeout 10000 ./test/meta.api.test.js",
+    "test:cypher": "mocha -r @babel/register --exit --timeout 10000 ./test/cypher.api.test.js",
+    "test:session": "mocha -r @babel/register --exit --timeout 10000 ./test/session.api.test.js",
+    "test:query": "mocha -r @babel/register --exit --timeout 10000 ./test/cypher.service.test.js",
+    "test:ageParsing": "mocha -r @babel/register --exit --timeout 10000 ./test/ageParsing.test.js",
+    "start": "babel-node src/bin/www",
+    "start:dev": "nodemon --watch src/app.js --watch src/ --exec 'babel-node' src/bin/www",
+    "build": "babel -d ./build ./src -s",
+    "start:production": "node ./build/bin/www.js"
+  },
+  "dependencies": {
+    "@bitnine-oss/ag-driver": "^0.1.0",
+    "antlr4": "^4.9.2",
+    "cookie-parser": "~1.4.5",
+    "cors": "^2.8.5",
+    "csv": "^5.5.0",
+    "debug": "~4.3.1",
+    "ejs": "^3.1.6",
+    "express": "~4.17.1",
+    "express-session": "^1.17.1",
+    "http-status": "^1.5.0",
+    "morgan": "~1.10.0",
+    "multer": "^1.4.2",
+    "npm-run-all": "^4.1.5",
+    "pegjs": "^0.10.0",
+    "pg": "^8.5.1",
+    "pg-types": "^2.2.0",
+    "uuid": "^8.3.2",
+    "winston": "^3.3.3",
+    "winston-daily-rotate-file": "^4.5.0"
+  },
+  "devDependencies": {
+    "@babel/cli": "^7.12.13",
+    "@babel/core": "^7.12.13",
+    "@babel/node": "^7.12.13",
+    "@babel/plugin-proposal-class-properties": "^7.13.0",
+    "@babel/plugin-transform-runtime": "^7.12.15",
+    "@babel/preset-env": "^7.12.13",
+    "@babel/register": "^7.12.13",
+    "babel-plugin-polyfill-corejs2": "^0.2.0",
+    "babel-plugin-polyfill-corejs3": "^0.2.0",
+    "babel-plugin-polyfill-regenerator": "^0.2.0",
+    "mocha": "^8.2.1",
+    "nodemon": "^2.0.7",
+    "supertest": "^6.0.1",
+    "supertest-session": "^4.1.0"
+  }
 }
diff --git a/backend/sql/get_role/default.sql b/backend/sql/get_role/default.sql
index ecbe70c..28e7611 100644
--- a/backend/sql/get_role/default.sql
+++ b/backend/sql/get_role/default.sql
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 SELECT usename as user_name,
        CASE
            WHEN usesuper THEN
diff --git a/backend/sql/graph_labels/AGE.sql b/backend/sql/graph_labels/AGE.sql
index 1bad797..8f909a7 100644
--- a/backend/sql/graph_labels/AGE.sql
+++ b/backend/sql/graph_labels/AGE.sql
@@ -1 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 SELECT oid as la_oid, name as la_name, kind as la_kind FROM ag_catalog.ag_label;
diff --git a/backend/sql/graph_labels/AGENS.sql b/backend/sql/graph_labels/AGENS.sql
index 3c57b9d..887c424 100644
--- a/backend/sql/graph_labels/AGENS.sql
+++ b/backend/sql/graph_labels/AGENS.sql
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 SELECT l.labid as la_oid, l.labname as la_name, l.labkind as la_kind
 FROM PG_CATALOG.AG_LABEL l
          INNER JOIN PG_CATALOG.AG_GRAPH g ON g.oid = l.graphid
diff --git a/backend/sql/label_count_edge/AGENS.sql b/backend/sql/label_count_edge/AGENS.sql
index 8ee27f1..6905c2b 100644
--- a/backend/sql/label_count_edge/AGENS.sql
+++ b/backend/sql/label_count_edge/AGENS.sql
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 SELECT SPLIT_PART(start::text, '.', 1) AS la_start, SPLIT_PART("end"::text, '.', 1) AS la_end, COUNT(1) AS la_count
 FROM %s
 GROUP BY SPLIT_PART(start::text, '.', 1), SPLIT_PART("end"::text, '.', 1)
diff --git a/backend/sql/label_count_vertex/AGENS.sql b/backend/sql/label_count_vertex/AGENS.sql
index 050bedd..0bf4dc2 100644
--- a/backend/sql/label_count_vertex/AGENS.sql
+++ b/backend/sql/label_count_vertex/AGENS.sql
@@ -1,2 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 SELECT COUNT(1) AS la_count
 FROM %s;
diff --git a/backend/sql/meta_edges/AGE.sql b/backend/sql/meta_edges/AGE.sql
index b2d1d54..c10480f 100644
--- a/backend/sql/meta_edges/AGE.sql
+++ b/backend/sql/meta_edges/AGE.sql
@@ -8,4 +8,23 @@ FROM (
      ) b
 GROUP BY b.label;
 
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 -- TODO: COUNT needs AGE supporting or Client-side processing.
diff --git a/backend/sql/meta_edges/AGENS.sql b/backend/sql/meta_edges/AGENS.sql
index 3f7cd51..d60f23d 100644
--- a/backend/sql/meta_edges/AGENS.sql
+++ b/backend/sql/meta_edges/AGENS.sql
@@ -1,4 +1,23 @@
 MATCH (v)-[e]-(v2) RETURN DISTINCT label(e) AS label, count(e) AS cnt
 ORDER BY label
 
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 -- %s %s
diff --git a/backend/sql/meta_nodes/AGE.sql b/backend/sql/meta_nodes/AGE.sql
index 9c4f0c2..63b5454 100644
--- a/backend/sql/meta_nodes/AGE.sql
+++ b/backend/sql/meta_nodes/AGE.sql
@@ -8,4 +8,23 @@ FROM (
      ) b
 GROUP BY b.label;
 
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 -- TODO: COUNT needs AGE supporting or Client-side processing.
diff --git a/backend/sql/meta_nodes/AGENS.sql b/backend/sql/meta_nodes/AGENS.sql
index 28758b4..704545b 100644
--- a/backend/sql/meta_nodes/AGENS.sql
+++ b/backend/sql/meta_nodes/AGENS.sql
@@ -1,3 +1,22 @@
 MATCH (v) RETURN DISTINCT label(v) AS label, count(v) AS cnt
 ORDER BY label
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 -- %s %s
diff --git a/backend/sql/property_keys/AGE.sql b/backend/sql/property_keys/AGE.sql
index 3fba019..7fb09da 100644
--- a/backend/sql/property_keys/AGE.sql
+++ b/backend/sql/property_keys/AGE.sql
@@ -1,3 +1,22 @@
 select * from (SELECT null as key, null as keytype) A limit 0;
 
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 -- TODO: need AGE Supporting.
diff --git a/backend/sql/property_keys/AGENS.sql b/backend/sql/property_keys/AGENS.sql
index b6989ec..dc466cc 100644
--- a/backend/sql/property_keys/AGENS.sql
+++ b/backend/sql/property_keys/AGENS.sql
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 MATCH (v)
 RETURN DISTINCT jsonb_object_keys(v) AS key, 'v' AS key_type
 UNION ALL
diff --git a/backend/src/app.js b/backend/src/app.js
index 9c66fad..feddcdf 100644
--- a/backend/src/app.js
+++ b/backend/src/app.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import FeatureRouter from "./routes/FeatureRouter";
diff --git a/backend/src/bin/www.js b/backend/src/bin/www.js
index 60bc99b..25f5301 100644
--- a/backend/src/bin/www.js
+++ b/backend/src/bin/www.js
@@ -1,5 +1,24 @@
 #!/usr/bin/env node
 
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 /**
  * Module dependencies.
  */
diff --git a/backend/src/common/Routes.js b/backend/src/common/Routes.js
index 8c95754..193801d 100644
--- a/backend/src/common/Routes.js
+++ b/backend/src/common/Routes.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 export function wrap(asyncFn) {
     return (async (req, res, next) => {
         try {
@@ -6,4 +25,4 @@ export function wrap(asyncFn) {
             return next(error)
         }
     })
-}
\ No newline at end of file
+}
diff --git a/backend/src/config/Flavors.js b/backend/src/config/Flavors.js
index e299c6f..1dc04d0 100644
--- a/backend/src/config/Flavors.js
+++ b/backend/src/config/Flavors.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 export default {
     AGE: 'AGE',
     AGENS: 'AGENS'
diff --git a/backend/src/config/Pg.js b/backend/src/config/Pg.js
index ce4c2f4..6e927fc 100644
--- a/backend/src/config/Pg.js
+++ b/backend/src/config/Pg.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 export default {
   // all valid client config options are also valid here
   // in addition here are the pool specific configuration parameters:
@@ -11,4 +30,4 @@ export default {
   // maximum number of clients the pool should contain
   // by default this is set to 10.
   max: 10,
-}
\ No newline at end of file
+}
diff --git a/backend/src/config/winston.js b/backend/src/config/winston.js
index a6b06a2..63837ae 100644
--- a/backend/src/config/winston.js
+++ b/backend/src/config/winston.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 const fs = require('fs');
 const winston = require('winston');
diff --git a/backend/src/controllers/FeatureController.js b/backend/src/controllers/FeatureController.js
index 3e1defa..165d914 100644
--- a/backend/src/controllers/FeatureController.js
+++ b/backend/src/controllers/FeatureController.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import sessionService from "../services/sessionService";
 import {parse} from "csv/lib/sync";
 import {createEdge, createVertex} from "../util/JsonBuilder";
diff --git a/backend/src/controllers/agcloudController.js b/backend/src/controllers/agcloudController.js
index f69268f..a1f7a3d 100644
--- a/backend/src/controllers/agcloudController.js
+++ b/backend/src/controllers/agcloudController.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 import Flavors from "../config/Flavors";
 
diff --git a/backend/src/controllers/cypherController.js b/backend/src/controllers/cypherController.js
index fffe83c..64f7936 100644
--- a/backend/src/controllers/cypherController.js
+++ b/backend/src/controllers/cypherController.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 const CypherService = require("../services/cypherService");
diff --git a/backend/src/controllers/databaseController.js b/backend/src/controllers/databaseController.js
index ac997d6..dd31d89 100644
--- a/backend/src/controllers/databaseController.js
+++ b/backend/src/controllers/databaseController.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 const sessionService = require('../services/sessionService');
 const winston = require('winston');
diff --git a/backend/src/models/agensgraph/agensGraphRepository.js b/backend/src/models/agensgraph/agensGraphRepository.js
index 86e27a4..c70a448 100644
--- a/backend/src/models/agensgraph/agensGraphRepository.js
+++ b/backend/src/models/agensgraph/agensGraphRepository.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import Flavors from '../../config/Flavors';
diff --git a/backend/src/routes/FeatureRouter.js b/backend/src/routes/FeatureRouter.js
index 361450c..044217e 100644
--- a/backend/src/routes/FeatureRouter.js
+++ b/backend/src/routes/FeatureRouter.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import {Router} from "express";
 import {wrap} from "../common/Routes";
 import FeatureController from "../controllers/FeatureController";
diff --git a/backend/src/routes/agcloudRouter.js b/backend/src/routes/agcloudRouter.js
index 2676183..60ca5f5 100644
--- a/backend/src/routes/agcloudRouter.js
+++ b/backend/src/routes/agcloudRouter.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 const express = require("express");
diff --git a/backend/src/routes/cypherRouter.js b/backend/src/routes/cypherRouter.js
index a9baa0e..805b1d0 100644
--- a/backend/src/routes/cypherRouter.js
+++ b/backend/src/routes/cypherRouter.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 const express = require("express");
diff --git a/backend/src/routes/databaseRouter.js b/backend/src/routes/databaseRouter.js
index 4e5b6e1..8c6fd65 100644
--- a/backend/src/routes/databaseRouter.js
+++ b/backend/src/routes/databaseRouter.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 const express = require("express");
 const DatabaseController = require('../controllers/databaseController')
@@ -26,4 +29,4 @@ router.get("/disconnect", wrap(databaseController.disconnectDatabase));
 router.get("/meta", wrap(databaseController.getMetadata));
 router.get("/metaChart", wrap(databaseController.getMetaChart));
 
-module.exports = router;
\ No newline at end of file
+module.exports = router;
diff --git a/backend/src/routes/sessionRouter.js b/backend/src/routes/sessionRouter.js
index a07ee6b..23c0c81 100644
--- a/backend/src/routes/sessionRouter.js
+++ b/backend/src/routes/sessionRouter.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 const DatabaseService = require('../services/databaseService');
@@ -24,4 +27,4 @@ function sessionRouter(req, res, next) {
     next();
 }
 
-module.exports = sessionRouter;
\ No newline at end of file
+module.exports = sessionRouter;
diff --git a/backend/src/services/cypherService.js b/backend/src/services/cypherService.js
index 8b86c71..f3102d6 100644
--- a/backend/src/services/cypherService.js
+++ b/backend/src/services/cypherService.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import Flavors from "../config/Flavors";
diff --git a/backend/src/services/databaseService.js b/backend/src/services/databaseService.js
index 77fdf71..4cfa3d6 100644
--- a/backend/src/services/databaseService.js
+++ b/backend/src/services/databaseService.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import {getQuery} from "../tools/SQLFlavorManager";
diff --git a/backend/src/services/sessionService.js b/backend/src/services/sessionService.js
index 8432e24..bee6eaa 100644
--- a/backend/src/services/sessionService.js
+++ b/backend/src/services/sessionService.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 class SessionService {
@@ -32,4 +35,4 @@ class SessionService {
 }
 const sessionService = new SessionService();
 
-module.exports = sessionService;
\ No newline at end of file
+module.exports = sessionService;
diff --git a/backend/src/tools/AGEParser.js b/backend/src/tools/AGEParser.js
index bc4ba59..2a87fb2 100644
--- a/backend/src/tools/AGEParser.js
+++ b/backend/src/tools/AGEParser.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import antlr4 from 'antlr4';
 import AgtypeLexer from './AgtypeLexer';
 import AgtypeParser from './AgtypeParser';
diff --git a/backend/src/tools/Agtype.g4 b/backend/src/tools/Agtype.g4
index 7ad184e..9494801 100644
--- a/backend/src/tools/Agtype.g4
+++ b/backend/src/tools/Agtype.g4
@@ -1,3 +1,20 @@
+//    Licensed to the Apache Software Foundation (ASF) under one
+//    or more contributor license agreements.  See the NOTICE file
+//    distributed with this work for additional information
+//    regarding copyright ownership.  The ASF licenses this file
+//    to you under the Apache License, Version 2.0 (the
+//    "License"); you may not use this file except in compliance
+//    with the License.  You may obtain a copy of the License at
+//
+//    http://www.apache.org/licenses/LICENSE-2.0
+//
+//    Unless required by applicable law or agreed to in writing,
+//    software distributed under the License is distributed on an
+//    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+//    KIND, either express or implied.  See the License for the
+//    specific language governing permissions and limitations
+//    under the License.
+
 grammar Agtype;
 
 agType
diff --git a/backend/src/tools/Agtype.interp b/backend/src/tools/Agtype.interp
deleted file mode 100644
index c012d8f..0000000
--- a/backend/src/tools/Agtype.interp
+++ /dev/null
@@ -1,57 +0,0 @@
-token literal names:
-null
-'true'
-'false'
-'null'
-'{'
-','
-'}'
-':'
-'['
-']'
-'::'
-'-'
-'Infinity'
-'NaN'
-null
-null
-null
-null
-null
-null
-
-token symbolic names:
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-IDENT
-STRING
-INTEGER
-RegularFloat
-ExponentFloat
-WS
-
-rule names:
-agType
-agValue
-value
-obj
-pair
-array
-typeAnnotation
-floatLiteral
-
-
-atn:
-[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 21, 82, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 5, 3, 24, 10, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 34, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 7, 5, 40, 10, 5, 12, 5, 14, 5, 43, 11, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 49, 10, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 7, 7, 59, 10, 7, 12, 7, 14, 7, 62, 11, 7, 3, 7, 3, 7, 3, 7 [...]
\ No newline at end of file
diff --git a/backend/src/tools/Agtype.tokens b/backend/src/tools/Agtype.tokens
deleted file mode 100644
index 193f8c9..0000000
--- a/backend/src/tools/Agtype.tokens
+++ /dev/null
@@ -1,32 +0,0 @@
-T__0=1
-T__1=2
-T__2=3
-T__3=4
-T__4=5
-T__5=6
-T__6=7
-T__7=8
-T__8=9
-T__9=10
-T__10=11
-T__11=12
-T__12=13
-IDENT=14
-STRING=15
-INTEGER=16
-RegularFloat=17
-ExponentFloat=18
-WS=19
-'true'=1
-'false'=2
-'null'=3
-'{'=4
-','=5
-'}'=6
-':'=7
-'['=8
-']'=9
-'::'=10
-'-'=11
-'Infinity'=12
-'NaN'=13
diff --git a/backend/src/tools/AgtypeLexer.interp b/backend/src/tools/AgtypeLexer.interp
deleted file mode 100644
index 19422db..0000000
--- a/backend/src/tools/AgtypeLexer.interp
+++ /dev/null
@@ -1,81 +0,0 @@
-token literal names:
-null
-'true'
-'false'
-'null'
-'{'
-','
-'}'
-':'
-'['
-']'
-'::'
-'-'
-'Infinity'
-'NaN'
-null
-null
-null
-null
-null
-null
-
-token symbolic names:
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-null
-IDENT
-STRING
-INTEGER
-RegularFloat
-ExponentFloat
-WS
-
-rule names:
-T__0
-T__1
-T__2
-T__3
-T__4
-T__5
-T__6
-T__7
-T__8
-T__9
-T__10
-T__11
-T__12
-IDENT
-STRING
-ESC
-UNICODE
-HEX
-SAFECODEPOINT
-INTEGER
-INT
-RegularFloat
-ExponentFloat
-DECIMAL
-SCIENTIFIC
-WS
-
-channel names:
-DEFAULT_TOKEN_CHANNEL
-HIDDEN
-
-mode names:
-DEFAULT_MODE
-
-atn:
-[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 21, 185, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,  [...]
\ No newline at end of file
diff --git a/backend/src/tools/AgtypeLexer.js b/backend/src/tools/AgtypeLexer.js
index 42f8c8a..bf02614 100644
--- a/backend/src/tools/AgtypeLexer.js
+++ b/backend/src/tools/AgtypeLexer.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 // Generated from src/tools/Agtype.g4 by ANTLR 4.9.2
 // jshint ignore: start
 import antlr4 from 'antlr4';
diff --git a/backend/src/tools/AgtypeLexer.tokens b/backend/src/tools/AgtypeLexer.tokens
deleted file mode 100644
index 193f8c9..0000000
--- a/backend/src/tools/AgtypeLexer.tokens
+++ /dev/null
@@ -1,32 +0,0 @@
-T__0=1
-T__1=2
-T__2=3
-T__3=4
-T__4=5
-T__5=6
-T__6=7
-T__7=8
-T__8=9
-T__9=10
-T__10=11
-T__11=12
-T__12=13
-IDENT=14
-STRING=15
-INTEGER=16
-RegularFloat=17
-ExponentFloat=18
-WS=19
-'true'=1
-'false'=2
-'null'=3
-'{'=4
-','=5
-'}'=6
-':'=7
-'['=8
-']'=9
-'::'=10
-'-'=11
-'Infinity'=12
-'NaN'=13
diff --git a/backend/src/tools/AgtypeListener.js b/backend/src/tools/AgtypeListener.js
index d3a6b01..e480061 100644
--- a/backend/src/tools/AgtypeListener.js
+++ b/backend/src/tools/AgtypeListener.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 // Generated from src/tools/Agtype.g4 by ANTLR 4.9.2
 // jshint ignore: start
 import antlr4 from 'antlr4';
diff --git a/backend/src/tools/AgtypeParser.js b/backend/src/tools/AgtypeParser.js
index 3ea29df..8689fbd 100644
--- a/backend/src/tools/AgtypeParser.js
+++ b/backend/src/tools/AgtypeParser.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 // Generated from src/tools/Agtype.g4 by ANTLR 4.9.2
 // jshint ignore: start
 import antlr4 from 'antlr4';
diff --git a/backend/src/tools/CustomAgTypeListener.js b/backend/src/tools/CustomAgTypeListener.js
index a03b1c2..6017743 100644
--- a/backend/src/tools/CustomAgTypeListener.js
+++ b/backend/src/tools/CustomAgTypeListener.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import AgtypeListener from "./AgtypeListener";
 
 class CustomAgTypeListener extends AgtypeListener {
diff --git a/backend/src/tools/SQLFlavorManager.js b/backend/src/tools/SQLFlavorManager.js
index a9131eb..597c319 100644
--- a/backend/src/tools/SQLFlavorManager.js
+++ b/backend/src/tools/SQLFlavorManager.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 // Currently works AGENS / AGE ( in-progress )
 import * as path from "path";
 import fs from 'fs'
diff --git a/backend/src/util/JsonBuilder.js b/backend/src/util/JsonBuilder.js
index 0b23512..80803d7 100644
--- a/backend/src/util/JsonBuilder.js
+++ b/backend/src/util/JsonBuilder.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import Flavors from "../config/Flavors";
 
 export function stringWrap(valstr, flavor){
diff --git a/backend/test/ageParsing.test.js b/backend/test/ageParsing.test.js
index 1c852c8..88796b1 100644
--- a/backend/test/ageParsing.test.js
+++ b/backend/test/ageParsing.test.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import {AGTypeParse}  from "../src/tools/AGEParser";
 const assert = require('assert').strict;
 
diff --git a/backend/test/connectParam.js b/backend/test/connectParam.js
index 153e6d5..c8ac3ab 100644
--- a/backend/test/connectParam.js
+++ b/backend/test/connectParam.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 export default {
     host: '127.0.0.1',
     port: 5432,
diff --git a/backend/test/connector.api.test.js b/backend/test/connector.api.test.js
index 885a163..f886d1f 100644
--- a/backend/test/connector.api.test.js
+++ b/backend/test/connector.api.test.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 const app = require('../app');
 const request = require('supertest');
 const session = require('supertest-session');
diff --git a/backend/test/cypher.api.test.js b/backend/test/cypher.api.test.js
index f2feb7b..ca81274 100644
--- a/backend/test/cypher.api.test.js
+++ b/backend/test/cypher.api.test.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 const app = require('../app');
 const request = require('supertest');
 const session = require('supertest-session');
diff --git a/backend/test/cypher.service.test.js b/backend/test/cypher.service.test.js
index 45c3a0f..5c11eef 100644
--- a/backend/test/cypher.service.test.js
+++ b/backend/test/cypher.service.test.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 const app = require('../app');
 const session = require('supertest-session');
 const assert = require('assert').strict;
diff --git a/backend/test/meta.api.test.js b/backend/test/meta.api.test.js
index 77737ab..9752e50 100644
--- a/backend/test/meta.api.test.js
+++ b/backend/test/meta.api.test.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 const app = require('../app');
 const request = require('supertest');
 const session = require('supertest-session');
diff --git a/backend/test/session.api.test.js b/backend/test/session.api.test.js
index f55cf53..00ea0e3 100644
--- a/backend/test/session.api.test.js
+++ b/backend/test/session.api.test.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 const app = require('../app');
 const request = require('supertest');
 const session = require('supertest-session');
diff --git a/contributing.md b/contributing.md
deleted file mode 100644
index e69de29..0000000
diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh
index 1d50ea8..01f3f9b 100644
--- a/docker-entrypoint.sh
+++ b/docker-entrypoint.sh
@@ -1,4 +1,22 @@
 #!/usr/bin/env bash
 
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
 cd /app/backend
 exec yarn run start:production
diff --git a/ecosystem.config.js b/ecosystem.config.js
index a2133d2..121d5a6 100644
--- a/ecosystem.config.js
+++ b/ecosystem.config.js
@@ -1,23 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 module.exports = {
-  apps: [{
-    name: "ag-viewer",
-    namespace: "ag-viewer",
-    script: "cd backend && node ./build/bin/www",
-    watch: false,
-    env: {
-      name: "ag-viewer-develop",
-      PORT: 3001,
-      NODE_ENV: "develop",
-    },
-    env_release: {
-      name: "ag-viewer-release",
-      PORT: 4000,
-      NODE_ENV: "release",
+    apps: [{
+        name: "ag-viewer",
+        namespace: "ag-viewer",
+        script: "cd backend && node ./build/bin/www",
+        watch: false,
+        env: {
+            name: "ag-viewer-develop",
+            PORT: 3001,
+            NODE_ENV: "develop",
+        },
+        env_release: {
+            name: "ag-viewer-release",
+            PORT: 4000,
+            NODE_ENV: "release",
+        }
+    }],
+    deploy: {
+        staging: {
+            'post-deploy': 'npm install && npm run setup && npm run build-front && pm2 reload ecosystem.config.js'
+        }
     }
-  }],
-  deploy: {
-    staging: {
-      'post-deploy': 'npm install && npm run setup && npm run build-front && pm2 reload ecosystem.config.js'
-    }
-  }
 }
diff --git a/frontend/.eslintrc.js b/frontend/.eslintrc.js
index 0b95ece..5c7ee13 100644
--- a/frontend/.eslintrc.js
+++ b/frontend/.eslintrc.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 module.exports = {
   env: {
     browser: true,
diff --git a/frontend/.gitignore b/frontend/.gitignore
index 42afabf..293a25c 100644
--- a/frontend/.gitignore
+++ b/frontend/.gitignore
@@ -1 +1,19 @@
-/build
\ No newline at end of file
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+/build
diff --git a/frontend/package.json b/frontend/package.json
index 7927285..e57d1e1 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -2,6 +2,13 @@
   "name": "ag-viewer-frontend",
   "version": "0.1.0",
   "private": true,
+  "license": "Apache-2.0",
+  "licenses": [
+    {
+      "type": "Apache-2.0",
+      "url": "https://www.apache.org/licenses/LICENSE-2.0"
+    }
+  ],
   "dependencies": {
     "@fortawesome/fontawesome-svg-core": "^1.2.34",
     "@fortawesome/free-brands-svg-icons": "^5.15.2",
@@ -61,6 +68,7 @@
     ]
   },
   "devDependencies": {
+    "@babel/core": "^7.16.0",
     "@testing-library/jest-dom": "^5.14.1",
     "@testing-library/react": "^12.0.0",
     "@testing-library/user-event": "^13.2.1",
diff --git a/frontend/public/browserconfig.xml b/frontend/public/browserconfig.xml
index b3930d0..b903156 100644
--- a/frontend/public/browserconfig.xml
+++ b/frontend/public/browserconfig.xml
@@ -1,4 +1,23 @@
 <?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+
 <browserconfig>
     <msapplication>
         <tile>
diff --git a/frontend/public/index.html b/frontend/public/index.html
index 567f297..b9c1420 100644
--- a/frontend/public/index.html
+++ b/frontend/public/index.html
@@ -1,3 +1,22 @@
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+
 <!DOCTYPE html>
 <html lang="en">
   <head>
diff --git a/frontend/public/safari-pinned-tab.svg b/frontend/public/safari-pinned-tab.svg
index a3ea74a..aa2742c 100644
--- a/frontend/public/safari-pinned-tab.svg
+++ b/frontend/public/safari-pinned-tab.svg
@@ -1,4 +1,23 @@
 <?xml version="1.0" standalone="no"?>
+<!--
+  - Licensed to the Apache Software Foundation (ASF) under one
+  - or more contributor license agreements.  See the NOTICE file
+  - distributed with this work for additional information
+  - regarding copyright ownership.  The ASF licenses this file
+  - to you under the Apache License, Version 2.0 (the
+  - "License"); you may not use this file except in compliance
+  - with the License.  You may obtain a copy of the License at
+  -
+  - http://www.apache.org/licenses/LICENSE-2.0
+  -
+  - Unless required by applicable law or agreed to in writing,
+  - software distributed under the License is distributed on an
+  - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  - KIND, either express or implied.  See the License for the
+  - specific language governing permissions and limitations
+  - under the License.
+  -->
+
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
  "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
 <svg version="1.0" xmlns="http://www.w3.org/2000/svg"
diff --git a/frontend/src/App.css b/frontend/src/App.css
index 74b5e05..048c497 100644
--- a/frontend/src/App.css
+++ b/frontend/src/App.css
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 .App {
   text-align: center;
 }
diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx
index a88ac28..abb1e8e 100644
--- a/frontend/src/App.jsx
+++ b/frontend/src/App.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React from 'react';
diff --git a/frontend/src/app/reducers.js b/frontend/src/app/reducers.js
index d98f8a5..a9fef12 100644
--- a/frontend/src/app/reducers.js
+++ b/frontend/src/app/reducers.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { combineReducers } from 'redux';
diff --git a/frontend/src/app/store.js b/frontend/src/app/store.js
index 6bfb3a4..c363e7a 100644
--- a/frontend/src/app/store.js
+++ b/frontend/src/app/store.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { configureStore } from '@reduxjs/toolkit';
diff --git a/frontend/src/components/alert/containers/AlertContainers.js b/frontend/src/components/alert/containers/AlertContainers.js
index e8e4731..be24fda 100644
--- a/frontend/src/components/alert/containers/AlertContainers.js
+++ b/frontend/src/components/alert/containers/AlertContainers.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/alert/presentations/Alert.jsx b/frontend/src/components/alert/presentations/Alert.jsx
index 0c22377..21f3135 100644
--- a/frontend/src/components/alert/presentations/Alert.jsx
+++ b/frontend/src/components/alert/presentations/Alert.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React, { useEffect } from 'react';
diff --git a/frontend/src/components/contents/containers/Contents.js b/frontend/src/components/contents/containers/Contents.js
index ecbf30f..668402a 100644
--- a/frontend/src/components/contents/containers/Contents.js
+++ b/frontend/src/components/contents/containers/Contents.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/contents/containers/Editor.js b/frontend/src/components/contents/containers/Editor.js
index 0977019..cf6adf9 100644
--- a/frontend/src/components/contents/containers/Editor.js
+++ b/frontend/src/components/contents/containers/Editor.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/contents/containers/Frames.js b/frontend/src/components/contents/containers/Frames.js
index 67d6c58..373ca6e 100644
--- a/frontend/src/components/contents/containers/Frames.js
+++ b/frontend/src/components/contents/containers/Frames.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/contents/presentations/Contents.jsx b/frontend/src/components/contents/presentations/Contents.jsx
index d48531a..56538f4 100644
--- a/frontend/src/components/contents/presentations/Contents.jsx
+++ b/frontend/src/components/contents/presentations/Contents.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React, { useEffect } from 'react';
diff --git a/frontend/src/components/contents/presentations/Contents.module.scss b/frontend/src/components/contents/presentations/Contents.module.scss
index 5f4c38d..c15e5eb 100644
--- a/frontend/src/components/contents/presentations/Contents.module.scss
+++ b/frontend/src/components/contents/presentations/Contents.module.scss
@@ -1,8 +1,27 @@
+/*!
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 .Content {
   width: 100%;
   height: 100%;
   min-height: 100%;
-  transition: all 0.3s;  
+  transition: all 0.3s;
   top: 0;
   right: 0;
   background-color: var(--bg-color);
diff --git a/frontend/src/components/contents/presentations/Editor.jsx b/frontend/src/components/contents/presentations/Editor.jsx
index 4ba732d..0180431 100644
--- a/frontend/src/components/contents/presentations/Editor.jsx
+++ b/frontend/src/components/contents/presentations/Editor.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React, { useEffect, useState } from 'react';
diff --git a/frontend/src/components/contents/presentations/Frames.jsx b/frontend/src/components/contents/presentations/Frames.jsx
index 38ef975..2f5485a 100644
--- a/frontend/src/components/contents/presentations/Frames.jsx
+++ b/frontend/src/components/contents/presentations/Frames.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React, { useEffect, useState } from 'react';
diff --git a/frontend/src/components/csv/index.jsx b/frontend/src/components/csv/index.jsx
index b515785..a560b6f 100644
--- a/frontend/src/components/csv/index.jsx
+++ b/frontend/src/components/csv/index.jsx
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import React from 'react';
 import PropTypes from 'prop-types';
 import { Button, message, Upload } from 'antd';
diff --git a/frontend/src/components/cypherresult/components/EdgeThicknessMenu.jsx b/frontend/src/components/cypherresult/components/EdgeThicknessMenu.jsx
index af1c24d..448b095 100644
--- a/frontend/src/components/cypherresult/components/EdgeThicknessMenu.jsx
+++ b/frontend/src/components/cypherresult/components/EdgeThicknessMenu.jsx
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 /* eslint-disable react/prop-types */
 /* eslint-disable no-unused-vars */
 import React, { useState, useEffect } from 'react';
diff --git a/frontend/src/components/cypherresult/components/GraphFilterModal.jsx b/frontend/src/components/cypherresult/components/GraphFilterModal.jsx
index 5e0e834..bb0b916 100644
--- a/frontend/src/components/cypherresult/components/GraphFilterModal.jsx
+++ b/frontend/src/components/cypherresult/components/GraphFilterModal.jsx
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import React, { useEffect, useState } from 'react';
 import {
   Button, Input, message, Modal, Select,
diff --git a/frontend/src/components/cypherresult/components/popover.module.scss b/frontend/src/components/cypherresult/components/popover.module.scss
index 458d44d..0348851 100644
--- a/frontend/src/components/cypherresult/components/popover.module.scss
+++ b/frontend/src/components/cypherresult/components/popover.module.scss
@@ -1,3 +1,22 @@
+/*!
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 .title {
   font-size: 18px;
   font-weight: bold;
@@ -44,7 +63,7 @@
   background: #F8F9FA 0% 0% no-repeat padding-box !important;
   border-radius: 5px !important;
   opacity: 1 !important;
-  border: none;  
+  border: none;
   color:#808080;
 }
 .buttons {
@@ -52,7 +71,7 @@
   text-align: right;
 }
 
-.btn {  
+.btn {
   width: 100px;
   height: 45px;
   font-size: 14px;
@@ -66,7 +85,7 @@
   background-color: #F8F9FA;
 }
 
-.btn:hover {  
+.btn:hover {
   color: #F8F9FA;
   background-color: #2756FF;
-}
\ No newline at end of file
+}
diff --git a/frontend/src/components/cypherresult/containers/CypherResultCytoscapeContainer.js b/frontend/src/components/cypherresult/containers/CypherResultCytoscapeContainer.js
index bad037b..db25621 100644
--- a/frontend/src/components/cypherresult/containers/CypherResultCytoscapeContainer.js
+++ b/frontend/src/components/cypherresult/containers/CypherResultCytoscapeContainer.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/cypherresult/containers/CypherResultMetaContainer.js b/frontend/src/components/cypherresult/containers/CypherResultMetaContainer.js
index fa22d90..305e088 100644
--- a/frontend/src/components/cypherresult/containers/CypherResultMetaContainer.js
+++ b/frontend/src/components/cypherresult/containers/CypherResultMetaContainer.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/cypherresult/containers/CypherResultTableContainer.js b/frontend/src/components/cypherresult/containers/CypherResultTableContainer.js
index 8f6f890..7f72e3a 100644
--- a/frontend/src/components/cypherresult/containers/CypherResultTableContainer.js
+++ b/frontend/src/components/cypherresult/containers/CypherResultTableContainer.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/cypherresult/containers/CypherResultTextContainer.js b/frontend/src/components/cypherresult/containers/CypherResultTextContainer.js
index 4f379c7..242c4d7 100644
--- a/frontend/src/components/cypherresult/containers/CypherResultTextContainer.js
+++ b/frontend/src/components/cypherresult/containers/CypherResultTextContainer.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/cypherresult/presentations/CypherResultCytoscape.jsx b/frontend/src/components/cypherresult/presentations/CypherResultCytoscape.jsx
index 330a825..e358455 100644
--- a/frontend/src/components/cypherresult/presentations/CypherResultCytoscape.jsx
+++ b/frontend/src/components/cypherresult/presentations/CypherResultCytoscape.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React, {
diff --git a/frontend/src/components/cypherresult/presentations/CypherResultMeta.jsx b/frontend/src/components/cypherresult/presentations/CypherResultMeta.jsx
index e2b1b7b..1c5206e 100644
--- a/frontend/src/components/cypherresult/presentations/CypherResultMeta.jsx
+++ b/frontend/src/components/cypherresult/presentations/CypherResultMeta.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React from 'react';
diff --git a/frontend/src/components/cypherresult/presentations/CypherResultTable.jsx b/frontend/src/components/cypherresult/presentations/CypherResultTable.jsx
index cf71b69..6014ab7 100644
--- a/frontend/src/components/cypherresult/presentations/CypherResultTable.jsx
+++ b/frontend/src/components/cypherresult/presentations/CypherResultTable.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React, { useEffect, useState } from 'react';
diff --git a/frontend/src/components/cypherresult/presentations/CypherResultText.jsx b/frontend/src/components/cypherresult/presentations/CypherResultText.jsx
index 1f4a5a4..ae073ac 100644
--- a/frontend/src/components/cypherresult/presentations/CypherResultText.jsx
+++ b/frontend/src/components/cypherresult/presentations/CypherResultText.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React from 'react';
diff --git a/frontend/src/components/cytoscape/CypherResultCytoscapeChart.jsx b/frontend/src/components/cytoscape/CypherResultCytoscapeChart.jsx
index b0b9b86..7c0d760 100644
--- a/frontend/src/components/cytoscape/CypherResultCytoscapeChart.jsx
+++ b/frontend/src/components/cytoscape/CypherResultCytoscapeChart.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 import React, { useCallback, useEffect, useState } from 'react';
 import ReactDOMServer from 'react-dom/server';
diff --git a/frontend/src/components/cytoscape/CypherResultCytoscapeFooter.jsx b/frontend/src/components/cytoscape/CypherResultCytoscapeFooter.jsx
index 4b00eea..c0e39db 100644
--- a/frontend/src/components/cytoscape/CypherResultCytoscapeFooter.jsx
+++ b/frontend/src/components/cytoscape/CypherResultCytoscapeFooter.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React, { useState } from 'react';
diff --git a/frontend/src/components/cytoscape/CypherResultCytoscapeLegend.jsx b/frontend/src/components/cytoscape/CypherResultCytoscapeLegend.jsx
index 2186cd9..d3d6bb7 100644
--- a/frontend/src/components/cytoscape/CypherResultCytoscapeLegend.jsx
+++ b/frontend/src/components/cytoscape/CypherResultCytoscapeLegend.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React, { Component } from 'react';
diff --git a/frontend/src/components/cytoscape/CypherResultTab.jsx b/frontend/src/components/cytoscape/CypherResultTab.jsx
index 92a8e4a..6d68a9b 100644
--- a/frontend/src/components/cytoscape/CypherResultTab.jsx
+++ b/frontend/src/components/cytoscape/CypherResultTab.jsx
@@ -1,19 +1,23 @@
-/* eslint-disable react/react-in-jsx-scope */
 /*
- * Copyright 2020 Bitnine Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
+
+/* eslint-disable react/react-in-jsx-scope */
 import { Component } from 'react';
 import PropTypes from 'prop-types';
 import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
diff --git a/frontend/src/components/cytoscape/CytoscapeConfig.js b/frontend/src/components/cytoscape/CytoscapeConfig.js
index 72b87ac..8bc8ec3 100644
--- a/frontend/src/components/cytoscape/CytoscapeConfig.js
+++ b/frontend/src/components/cytoscape/CytoscapeConfig.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 export default {
   // Viewport Options
   zoom: 1,
diff --git a/frontend/src/components/cytoscape/CytoscapeLayouts.js b/frontend/src/components/cytoscape/CytoscapeLayouts.js
index f2baeb8..098c87c 100644
--- a/frontend/src/components/cytoscape/CytoscapeLayouts.js
+++ b/frontend/src/components/cytoscape/CytoscapeLayouts.js
@@ -1,20 +1,23 @@
-/* eslint-disable max-len,no-unused-vars */
 /*
- * Copyright 2020 Bitnine Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
+/* eslint-disable max-len,no-unused-vars */
 export const initLocation = {};
 
 const coseBilkentLayout = {
diff --git a/frontend/src/components/cytoscape/CytoscapeStyleSheet.js b/frontend/src/components/cytoscape/CytoscapeStyleSheet.js
index 691d64e..fb437bf 100644
--- a/frontend/src/components/cytoscape/CytoscapeStyleSheet.js
+++ b/frontend/src/components/cytoscape/CytoscapeStyleSheet.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 export const selectedLabel = {
   node: {},
   edge: {},
diff --git a/frontend/src/components/cytoscape/MetadataCytoscapeChart.jsx b/frontend/src/components/cytoscape/MetadataCytoscapeChart.jsx
index 447b7c5..e085614 100644
--- a/frontend/src/components/cytoscape/MetadataCytoscapeChart.jsx
+++ b/frontend/src/components/cytoscape/MetadataCytoscapeChart.jsx
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import React, { useCallback, useEffect, useState } from 'react';
 import PropTypes from 'prop-types';
 import cytoscape from 'cytoscape';
diff --git a/frontend/src/components/editor/containers/CodeMirrorWapperContainer.js b/frontend/src/components/editor/containers/CodeMirrorWapperContainer.js
index bb4fa9b..12b4d4d 100644
--- a/frontend/src/components/editor/containers/CodeMirrorWapperContainer.js
+++ b/frontend/src/components/editor/containers/CodeMirrorWapperContainer.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/editor/containers/SideBarMenuToggleContainer.js b/frontend/src/components/editor/containers/SideBarMenuToggleContainer.js
index 05e843f..2480c5b 100644
--- a/frontend/src/components/editor/containers/SideBarMenuToggleContainer.js
+++ b/frontend/src/components/editor/containers/SideBarMenuToggleContainer.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/editor/presentations/CodeMirrorWrapper.jsx b/frontend/src/components/editor/presentations/CodeMirrorWrapper.jsx
index 879a325..02d6ecf 100644
--- a/frontend/src/components/editor/presentations/CodeMirrorWrapper.jsx
+++ b/frontend/src/components/editor/presentations/CodeMirrorWrapper.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React, { useRef, useState } from 'react';
diff --git a/frontend/src/components/editor/presentations/SidebarMeunuToggle.jsx b/frontend/src/components/editor/presentations/SidebarMeunuToggle.jsx
index ac9d943..f373167 100644
--- a/frontend/src/components/editor/presentations/SidebarMeunuToggle.jsx
+++ b/frontend/src/components/editor/presentations/SidebarMeunuToggle.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React from 'react';
diff --git a/frontend/src/components/frame/Frame.jsx b/frontend/src/components/frame/Frame.jsx
index ad0b1f5..ddfb700 100644
--- a/frontend/src/components/frame/Frame.jsx
+++ b/frontend/src/components/frame/Frame.jsx
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import React, { useState } from 'react';
 import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
 import {
diff --git a/frontend/src/components/frame/Frame.module.scss b/frontend/src/components/frame/Frame.module.scss
index 929c1c9..eea1812 100644
--- a/frontend/src/components/frame/Frame.module.scss
+++ b/frontend/src/components/frame/Frame.module.scss
@@ -1,3 +1,22 @@
+/*!
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 .Frame {
   position: relative;
   display: flex;
diff --git a/frontend/src/components/frame/containers/ContentsFrameContainer.js b/frontend/src/components/frame/containers/ContentsFrameContainer.js
index 60a15e3..2da1418 100644
--- a/frontend/src/components/frame/containers/ContentsFrameContainer.js
+++ b/frontend/src/components/frame/containers/ContentsFrameContainer.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/frame/containers/CypherGraphResultContainers.js b/frontend/src/components/frame/containers/CypherGraphResultContainers.js
index 01f277c..5b4e17e 100644
--- a/frontend/src/components/frame/containers/CypherGraphResultContainers.js
+++ b/frontend/src/components/frame/containers/CypherGraphResultContainers.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/frame/containers/CypherResultContainers.js b/frontend/src/components/frame/containers/CypherResultContainers.js
index 7ca68a3..6319d4c 100644
--- a/frontend/src/components/frame/containers/CypherResultContainers.js
+++ b/frontend/src/components/frame/containers/CypherResultContainers.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/frame/containers/ServerConnectContainer.js b/frontend/src/components/frame/containers/ServerConnectContainer.js
index eee92bf..e9d70ca 100644
--- a/frontend/src/components/frame/containers/ServerConnectContainer.js
+++ b/frontend/src/components/frame/containers/ServerConnectContainer.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/frame/containers/ServerDisconnectContainer.js b/frontend/src/components/frame/containers/ServerDisconnectContainer.js
index 2366008..4eb5fe9 100644
--- a/frontend/src/components/frame/containers/ServerDisconnectContainer.js
+++ b/frontend/src/components/frame/containers/ServerDisconnectContainer.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/frame/containers/ServerStatusContainer.js b/frontend/src/components/frame/containers/ServerStatusContainer.js
index acd2a08..07d5e87 100644
--- a/frontend/src/components/frame/containers/ServerStatusContainer.js
+++ b/frontend/src/components/frame/containers/ServerStatusContainer.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/frame/presentations/ContentsFrame.jsx b/frontend/src/components/frame/presentations/ContentsFrame.jsx
index 8e0ed35..a21bdab 100644
--- a/frontend/src/components/frame/presentations/ContentsFrame.jsx
+++ b/frontend/src/components/frame/presentations/ContentsFrame.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import PropTypes from 'prop-types';
diff --git a/frontend/src/components/frame/presentations/CypherGraphResultFrame.jsx b/frontend/src/components/frame/presentations/CypherGraphResultFrame.jsx
index 543d86f..8117a8c 100644
--- a/frontend/src/components/frame/presentations/CypherGraphResultFrame.jsx
+++ b/frontend/src/components/frame/presentations/CypherGraphResultFrame.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React, { createRef, useEffect, useState } from 'react';
diff --git a/frontend/src/components/frame/presentations/CypherResultFrame.jsx b/frontend/src/components/frame/presentations/CypherResultFrame.jsx
index db78df0..df21360 100644
--- a/frontend/src/components/frame/presentations/CypherResultFrame.jsx
+++ b/frontend/src/components/frame/presentations/CypherResultFrame.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React from 'react';
diff --git a/frontend/src/components/frame/presentations/ServerConnectFrame.jsx b/frontend/src/components/frame/presentations/ServerConnectFrame.jsx
index d6be0a2..b4feedd 100644
--- a/frontend/src/components/frame/presentations/ServerConnectFrame.jsx
+++ b/frontend/src/components/frame/presentations/ServerConnectFrame.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React from 'react';
diff --git a/frontend/src/components/frame/presentations/ServerConnectFrame.module.scss b/frontend/src/components/frame/presentations/ServerConnectFrame.module.scss
index 9545c81..ea80f6a 100644
--- a/frontend/src/components/frame/presentations/ServerConnectFrame.module.scss
+++ b/frontend/src/components/frame/presentations/ServerConnectFrame.module.scss
@@ -1,3 +1,22 @@
+/*!
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 .FrameWrapper {
   max-width: 450px;
 }
diff --git a/frontend/src/components/frame/presentations/ServerDisconnectFrame.jsx b/frontend/src/components/frame/presentations/ServerDisconnectFrame.jsx
index ef26b32..0363725 100644
--- a/frontend/src/components/frame/presentations/ServerDisconnectFrame.jsx
+++ b/frontend/src/components/frame/presentations/ServerDisconnectFrame.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React, { useEffect } from 'react';
diff --git a/frontend/src/components/frame/presentations/ServerStatusFrame.jsx b/frontend/src/components/frame/presentations/ServerStatusFrame.jsx
index daa6f3a..6c4890e 100644
--- a/frontend/src/components/frame/presentations/ServerStatusFrame.jsx
+++ b/frontend/src/components/frame/presentations/ServerStatusFrame.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React, { useEffect, useState } from 'react';
diff --git a/frontend/src/components/navigator/containers/Navigator.js b/frontend/src/components/navigator/containers/Navigator.js
index 96a9fdd..c076ccf 100644
--- a/frontend/src/components/navigator/containers/Navigator.js
+++ b/frontend/src/components/navigator/containers/Navigator.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/navigator/presentations/Navigator.jsx b/frontend/src/components/navigator/presentations/Navigator.jsx
index 85cb9f7..a7cef6e 100644
--- a/frontend/src/components/navigator/presentations/Navigator.jsx
+++ b/frontend/src/components/navigator/presentations/Navigator.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React from 'react';
diff --git a/frontend/src/components/navigator/presentations/NavigatorItem.jsx b/frontend/src/components/navigator/presentations/NavigatorItem.jsx
index 833a60e..f0916c0 100644
--- a/frontend/src/components/navigator/presentations/NavigatorItem.jsx
+++ b/frontend/src/components/navigator/presentations/NavigatorItem.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React from 'react';
diff --git a/frontend/src/components/sidebar/containers/Sidebar.js b/frontend/src/components/sidebar/containers/Sidebar.js
index 843f61e..c3547cb 100644
--- a/frontend/src/components/sidebar/containers/Sidebar.js
+++ b/frontend/src/components/sidebar/containers/Sidebar.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/sidebar/containers/SidebarAbout.js b/frontend/src/components/sidebar/containers/SidebarAbout.js
index 3df9236..64dca56 100644
--- a/frontend/src/components/sidebar/containers/SidebarAbout.js
+++ b/frontend/src/components/sidebar/containers/SidebarAbout.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import { connect } from 'react-redux';
 import SidebarAbout from '../presentations/SidebarAbout';
 
diff --git a/frontend/src/components/sidebar/containers/SidebarHome.js b/frontend/src/components/sidebar/containers/SidebarHome.js
index 7ca7bd5..860495b 100644
--- a/frontend/src/components/sidebar/containers/SidebarHome.js
+++ b/frontend/src/components/sidebar/containers/SidebarHome.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/sidebar/containers/SidebarSetting.js b/frontend/src/components/sidebar/containers/SidebarSetting.js
index 15d5e3f..4dd0009 100644
--- a/frontend/src/components/sidebar/containers/SidebarSetting.js
+++ b/frontend/src/components/sidebar/containers/SidebarSetting.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import { connect } from 'react-redux';
 import {
   changeMaxDataOfGraph,
diff --git a/frontend/src/components/sidebar/presentations/Sidebar.jsx b/frontend/src/components/sidebar/presentations/Sidebar.jsx
index 5139426..a7c5771 100644
--- a/frontend/src/components/sidebar/presentations/Sidebar.jsx
+++ b/frontend/src/components/sidebar/presentations/Sidebar.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React from 'react';
diff --git a/frontend/src/components/sidebar/presentations/SidebarAbout.jsx b/frontend/src/components/sidebar/presentations/SidebarAbout.jsx
index a72ac1e..7253ac4 100644
--- a/frontend/src/components/sidebar/presentations/SidebarAbout.jsx
+++ b/frontend/src/components/sidebar/presentations/SidebarAbout.jsx
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import React from 'react';
 import PropTypes from 'prop-types';
 import { ColoredLine, SubLabelLeft, SubLabelRight } from './SidebarComponents';
diff --git a/frontend/src/components/sidebar/presentations/SidebarComponents.jsx b/frontend/src/components/sidebar/presentations/SidebarComponents.jsx
index c8ce495..fcc34a0 100644
--- a/frontend/src/components/sidebar/presentations/SidebarComponents.jsx
+++ b/frontend/src/components/sidebar/presentations/SidebarComponents.jsx
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import React from 'react';
 import PropTypes from 'prop-types';
 
diff --git a/frontend/src/components/sidebar/presentations/SidebarHome.jsx b/frontend/src/components/sidebar/presentations/SidebarHome.jsx
index cf712c9..78a84e5 100644
--- a/frontend/src/components/sidebar/presentations/SidebarHome.jsx
+++ b/frontend/src/components/sidebar/presentations/SidebarHome.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React from 'react';
diff --git a/frontend/src/components/sidebar/presentations/SidebarSetting.jsx b/frontend/src/components/sidebar/presentations/SidebarSetting.jsx
index a88bb43..382b39f 100644
--- a/frontend/src/components/sidebar/presentations/SidebarSetting.jsx
+++ b/frontend/src/components/sidebar/presentations/SidebarSetting.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React from 'react';
diff --git a/frontend/src/components/template/DefaultTemplate.js b/frontend/src/components/template/DefaultTemplate.js
index 3361631..880d09d 100644
--- a/frontend/src/components/template/DefaultTemplate.js
+++ b/frontend/src/components/template/DefaultTemplate.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { connect } from 'react-redux';
diff --git a/frontend/src/components/template/presentations/DefaultTemplate.jsx b/frontend/src/components/template/presentations/DefaultTemplate.jsx
index 170ec14..d24ffcc 100644
--- a/frontend/src/components/template/presentations/DefaultTemplate.jsx
+++ b/frontend/src/components/template/presentations/DefaultTemplate.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React, { useEffect, useState } from 'react';
diff --git a/frontend/src/conf/config.js b/frontend/src/conf/config.js
index 8092c72..a3b32ad 100644
--- a/frontend/src/conf/config.js
+++ b/frontend/src/conf/config.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 export const about = {
   releaseDate: '2020 SEP 09',
   version: 'v0.5.0-Beta',
diff --git a/frontend/src/documents/tutorial/northwind.jsx b/frontend/src/documents/tutorial/northwind.jsx
index ea31215..711e985 100644
--- a/frontend/src/documents/tutorial/northwind.jsx
+++ b/frontend/src/documents/tutorial/northwind.jsx
@@ -1,20 +1,23 @@
-/* eslint-disable max-len */
 /*
- * Copyright 2020 Bitnine Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
+/* eslint-disable max-len */
 import React from 'react';
 import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
 import { faPlayCircle } from '@fortawesome/free-regular-svg-icons';
diff --git a/frontend/src/features/alert/AlertSlice.js b/frontend/src/features/alert/AlertSlice.js
index f2791b9..2e55f9e 100644
--- a/frontend/src/features/alert/AlertSlice.js
+++ b/frontend/src/features/alert/AlertSlice.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { createSlice } from '@reduxjs/toolkit';
diff --git a/frontend/src/features/capture/Capture.js b/frontend/src/features/capture/Capture.js
index 58107f5..1ab249a 100644
--- a/frontend/src/features/capture/Capture.js
+++ b/frontend/src/features/capture/Capture.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import { createSlice } from '@reduxjs/toolkit';
 import html2canvas from 'html2canvas';
 
diff --git a/frontend/src/features/cookie/CookieUtil.js b/frontend/src/features/cookie/CookieUtil.js
index eda50b3..2d8bb25 100644
--- a/frontend/src/features/cookie/CookieUtil.js
+++ b/frontend/src/features/cookie/CookieUtil.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 import cookie from 'react-cookies';
 
 const oneYearFromNow = new Date();
diff --git a/frontend/src/features/cypher/CypherSlice.js b/frontend/src/features/cypher/CypherSlice.js
index d7957cf..8edc9ad 100644
--- a/frontend/src/features/cypher/CypherSlice.js
+++ b/frontend/src/features/cypher/CypherSlice.js
@@ -1,20 +1,23 @@
-/* eslint-disable no-param-reassign */
 /*
- * Copyright 2020 Bitnine Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
+/* eslint-disable no-param-reassign */
 import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
 
 // eslint-disable-next-line no-unused-vars
diff --git a/frontend/src/features/cypher/CypherUtil.js b/frontend/src/features/cypher/CypherUtil.js
index 2e03d48..7573716 100644
--- a/frontend/src/features/cypher/CypherUtil.js
+++ b/frontend/src/features/cypher/CypherUtil.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 export const nodeLabelColors = [
diff --git a/frontend/src/features/database/DatabaseSlice.js b/frontend/src/features/database/DatabaseSlice.js
index bcfc24a..9f5a0fa 100644
--- a/frontend/src/features/database/DatabaseSlice.js
+++ b/frontend/src/features/database/DatabaseSlice.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
diff --git a/frontend/src/features/database/MetadataSlice.js b/frontend/src/features/database/MetadataSlice.js
index be1467c..fc62d12 100644
--- a/frontend/src/features/database/MetadataSlice.js
+++ b/frontend/src/features/database/MetadataSlice.js
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
diff --git a/frontend/src/features/editor/EditorSlice.js b/frontend/src/features/editor/EditorSlice.js
index 298052a..6653bf3 100644
--- a/frontend/src/features/editor/EditorSlice.js
+++ b/frontend/src/features/editor/EditorSlice.js
@@ -1,20 +1,23 @@
-/* eslint-disable no-param-reassign */
 /*
- * Copyright 2020 Bitnine Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
+/* eslint-disable no-param-reassign */
 import { createSlice } from '@reduxjs/toolkit';
 
 const EditorSlice = createSlice({
diff --git a/frontend/src/features/frame/FrameSlice.js b/frontend/src/features/frame/FrameSlice.js
index 9fe38bb..9b46299 100644
--- a/frontend/src/features/frame/FrameSlice.js
+++ b/frontend/src/features/frame/FrameSlice.js
@@ -1,20 +1,23 @@
-/* eslint-disable no-param-reassign */
 /*
- * Copyright 2020 Bitnine Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
+/* eslint-disable no-param-reassign */
 import { createSlice } from '@reduxjs/toolkit';
 import uuid from 'react-uuid';
 
diff --git a/frontend/src/features/menu/MenuSlice.js b/frontend/src/features/menu/MenuSlice.js
index 17eaa14..7b99a3c 100644
--- a/frontend/src/features/menu/MenuSlice.js
+++ b/frontend/src/features/menu/MenuSlice.js
@@ -1,20 +1,23 @@
-/* eslint-disable no-param-reassign */
 /*
- * Copyright 2020 Bitnine Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
+/* eslint-disable no-param-reassign */
 import { createSlice } from '@reduxjs/toolkit';
 import { faCog, faHome, faInfoCircle } from '@fortawesome/free-solid-svg-icons';
 
diff --git a/frontend/src/features/setting/SettingSlice.js b/frontend/src/features/setting/SettingSlice.js
index 9006859..c4ae6cd 100644
--- a/frontend/src/features/setting/SettingSlice.js
+++ b/frontend/src/features/setting/SettingSlice.js
@@ -1,20 +1,23 @@
-/* eslint-disable no-param-reassign */
 /*
- * Copyright 2020 Bitnine Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
+/* eslint-disable no-param-reassign */
 import { createSlice } from '@reduxjs/toolkit';
 import { about, setting } from '../../conf/config';
 import { saveToCookie } from '../cookie/CookieUtil';
diff --git a/frontend/src/index.css b/frontend/src/index.css
index 4109e9b..49d62fa 100644
--- a/frontend/src/index.css
+++ b/frontend/src/index.css
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 body {
   margin: 0;
   -webkit-font-smoothing: antialiased;
diff --git a/frontend/src/index.jsx b/frontend/src/index.jsx
index 1826c5d..87d21a3 100644
--- a/frontend/src/index.jsx
+++ b/frontend/src/index.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React from 'react';
diff --git a/frontend/src/lib/cytoscape-cxtmenu-bitnine/assign.js b/frontend/src/lib/cytoscape-cxtmenu-bitnine/assign.js
index cc9e837..9842601 100644
--- a/frontend/src/lib/cytoscape-cxtmenu-bitnine/assign.js
+++ b/frontend/src/lib/cytoscape-cxtmenu-bitnine/assign.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 /* eslint-disable */
 // Simple, internal Object.assign() polyfill for options objects etc.
 
diff --git a/frontend/src/lib/cytoscape-cxtmenu-bitnine/core/index.js b/frontend/src/lib/cytoscape-cxtmenu-bitnine/core/index.js
index f523814..aa6c98c 100644
--- a/frontend/src/lib/cytoscape-cxtmenu-bitnine/core/index.js
+++ b/frontend/src/lib/cytoscape-cxtmenu-bitnine/core/index.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 /* eslint-disable */
 module.exports = function () {
   const cy = this;
diff --git a/frontend/src/lib/cytoscape-cxtmenu-bitnine/cxtmenu.js b/frontend/src/lib/cytoscape-cxtmenu-bitnine/cxtmenu.js
index 3a0436a..bfd7afb 100644
--- a/frontend/src/lib/cytoscape-cxtmenu-bitnine/cxtmenu.js
+++ b/frontend/src/lib/cytoscape-cxtmenu-bitnine/cxtmenu.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 /* eslint-disable */
 const defaults = require('./defaults');
 const assign = require('./assign');
diff --git a/frontend/src/lib/cytoscape-cxtmenu-bitnine/defaults.js b/frontend/src/lib/cytoscape-cxtmenu-bitnine/defaults.js
index f66ddad..cc5ce79 100644
--- a/frontend/src/lib/cytoscape-cxtmenu-bitnine/defaults.js
+++ b/frontend/src/lib/cytoscape-cxtmenu-bitnine/defaults.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 /* eslint-disable */
 const defaults = {
   menuRadius(ele) { return 100; }, // the radius of the circular menu in pixels
diff --git a/frontend/src/lib/cytoscape-cxtmenu-bitnine/dom-util.js b/frontend/src/lib/cytoscape-cxtmenu-bitnine/dom-util.js
index 2946b12..94276de 100644
--- a/frontend/src/lib/cytoscape-cxtmenu-bitnine/dom-util.js
+++ b/frontend/src/lib/cytoscape-cxtmenu-bitnine/dom-util.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 /* eslint-disable */
 const removeEles = function (query, ancestor = document) {
   const els = ancestor.querySelectorAll(query);
diff --git a/frontend/src/lib/cytoscape-cxtmenu-bitnine/index.js b/frontend/src/lib/cytoscape-cxtmenu-bitnine/index.js
index 3b37936..cf92988 100644
--- a/frontend/src/lib/cytoscape-cxtmenu-bitnine/index.js
+++ b/frontend/src/lib/cytoscape-cxtmenu-bitnine/index.js
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 /* eslint-disable */
 const cxtmenu = require('./cxtmenu');
 
diff --git a/frontend/src/pages/Main/MainPage.jsx b/frontend/src/pages/Main/MainPage.jsx
index 9e062d0..e2e261d 100644
--- a/frontend/src/pages/Main/MainPage.jsx
+++ b/frontend/src/pages/Main/MainPage.jsx
@@ -1,17 +1,20 @@
 /*
- * Copyright 2020 Bitnine Co., Ltd.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
  */
 
 import React from 'react';
diff --git a/frontend/src/static/google-Poppins.css b/frontend/src/static/google-Poppins.css
index 8c33b46..4647525 100644
--- a/frontend/src/static/google-Poppins.css
+++ b/frontend/src/static/google-Poppins.css
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 /* devanagari */
 @font-face {
   font-family: 'Poppins';
@@ -21,4 +40,4 @@
   font-weight: 400;
   src: local('Poppins Regular'), local('Poppins-Regular'), url(https://fonts.gstatic.com/s/poppins/v13/pxiEyp8kv8JHgFVrJJfecg.woff2) format('woff2');
   unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
-}
\ No newline at end of file
+}
diff --git a/frontend/src/static/icons/css/fontello.css b/frontend/src/static/icons/css/fontello.css
index 41d441b..7c4d3e8 100644
--- a/frontend/src/static/icons/css/fontello.css
+++ b/frontend/src/static/icons/css/fontello.css
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 @font-face {
   font-family: 'fontello';
   src: url('../font/fontello.eot?12833378');
@@ -19,47 +38,47 @@
   }
 }
 */
- 
+
  [class^="icon-"]:before, [class*=" icon-"]:before {
   font-family: "fontello";
   font-style: normal;
   font-weight: normal;
   speak: never;
- 
+
   display: inline-block;
   text-decoration: inherit;
   width: 1em;
   margin-right: .2em;
   text-align: center;
   /* opacity: .8; */
- 
+
   /* For safety - reset parent styles, that can break glyph codes*/
   font-variant: normal;
   text-transform: none;
- 
+
   /* fix buttons height, for twitter bootstrap */
   line-height: 1em;
- 
+
   /* Animation center compensation - margins should be symmetric */
   /* remove if not needed */
   margin-left: .2em;
- 
+
   /* you can be more comfortable with increased icons size */
   /* font-size: 120%; */
- 
+
   /* Font smoothing. That was taken from TWBS */
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
- 
+
   /* Uncomment for 3D effect */
   /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
 }
- 
-.icon-eraser:before { content: '\e800'; } 
-.icon-filter:before { content: '\e801'; font-size: 24px; } 
-.icon-graph:before { content: '\e802'; } 
+
+.icon-eraser:before { content: '\e800'; }
+.icon-filter:before { content: '\e801'; font-size: 24px; }
+.icon-graph:before { content: '\e802'; }
 .icon-play:before { content: '\e803'; font-size: 30px; }
 .icon-close-session:before { content: '\e804'; font-size: 30px; color: #142B80; }
 .icon-refresh:before { content: '\e805'; font-size: 30px; color: #18CCC5; }
 .icon-search-cancel:before { content: '\e806'; font-size: 24px; }
-.icon-edge-weight:before { content: '\e807'; font-size: 24px;} 
\ No newline at end of file
+.icon-edge-weight:before { content: '\e807'; font-size: 24px;}
diff --git a/frontend/src/static/icons/font/fontello.svg b/frontend/src/static/icons/font/fontello.svg
index 67f3e31..b6b2a39 100644
--- a/frontend/src/static/icons/font/fontello.svg
+++ b/frontend/src/static/icons/font/fontello.svg
@@ -1,4 +1,23 @@
 <?xml version="1.0" standalone="no"?>
+<!--
+  - Licensed to the Apache Software Foundation (ASF) under one
+  - or more contributor license agreements.  See the NOTICE file
+  - distributed with this work for additional information
+  - regarding copyright ownership.  The ASF licenses this file
+  - to you under the Apache License, Version 2.0 (the
+  - "License"); you may not use this file except in compliance
+  - with the License.  You may obtain a copy of the License at
+  -
+  - http://www.apache.org/licenses/LICENSE-2.0
+  -
+  - Unless required by applicable law or agreed to in writing,
+  - software distributed under the License is distributed on an
+  - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  - KIND, either express or implied.  See the License for the
+  - specific language governing permissions and limitations
+  - under the License.
+  -->
+
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
 <svg xmlns="http://www.w3.org/2000/svg">
 <metadata>Copyright (C) 2021 by original authors @ fontello.com</metadata>
@@ -23,4 +42,4 @@
 <glyph glyph-name="edge-weight" unicode="&#xe807;" d="M0 360v-85a32 32 0 0 1 35-28h929a32 32 0 0 1 35 28v85a32 32 0 0 1-35 29h-929a32 32 0 0 1-35-29z m1 262v-44a29 29 0 0 1 31-26h937a29 29 0 0 1 31 26v44a29 29 0 0 1-31 25h-937a29 29 0 0 1-31-25z m-1-598v-142a36 36 0 0 1 39-32h921a36 36 0 0 1 39 32v142a36 36 0 0 1-39 32h-921a36 36 0 0 1-39-32z m0 802v-10a27 27 0 0 1 29-24h941a27 27 0 0 1 29 24v10a27 27 0 0 1-29 24h-941a27 27 0 0 1-29-24z" horiz-adv-x="1000" />
 </font>
 </defs>
-</svg>
\ No newline at end of file
+</svg>
diff --git a/frontend/src/static/navbar-fixed-left.css b/frontend/src/static/navbar-fixed-left.css
index f4d9334..c1d3617 100644
--- a/frontend/src/static/navbar-fixed-left.css
+++ b/frontend/src/static/navbar-fixed-left.css
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 .navbar.fixed-left {
     position: fixed;
     top: 0;
diff --git a/frontend/src/static/style.css b/frontend/src/static/style.css
index 42083c9..d9b1718 100644
--- a/frontend/src/static/style.css
+++ b/frontend/src/static/style.css
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
 :root {
     /* Light Mode */
     --light-text: #222430;
@@ -47,7 +66,7 @@
     clip: rect(1px, 1px, 1px, 1px);
 }
 
-body {    
+body {
     font-family: 'Poppins', sans-serif;
     padding-top: 90px;
     overflow: hidden;
@@ -72,7 +91,7 @@ body {
     align-items: stretch;
     position: relative;
     max-height: calc(100% - 105px);
-    overflow-y: scroll ;    
+    overflow-y: scroll ;
 }
 
 .wrapper-extension-padding {
@@ -82,7 +101,7 @@ body {
     align-items: stretch;
     position: relative;
     max-height: calc(100% - 300px);
-    overflow-y: scroll ;    
+    overflow-y: scroll ;
 }
 /* ---------------------------------------------------
     DEFAULT TEMPLATE STYLE
@@ -120,15 +139,15 @@ body {
     background-color: var(--navbar-color);
 }
 
-#sidebar {        
+#sidebar {
     height: auto;
-    z-index: 10;      
-    background-color: var(--sidebar-color);    
+    z-index: 10;
+    background-color: var(--sidebar-color);
     transition: all 0.3s;
     margin-left: -320px;
 }
 #sidebar.active {
-    margin: 0px 15px 0px 15px;    
+    margin: 0px 15px 0px 15px;
     background-color: #F7F7F7;
     border: 1px solid #C4C4C4;
     border-radius: 0px 0px 5px 5px;
@@ -141,19 +160,19 @@ body {
 
 .sidebar {
     display: flex;
-    flex-direction: row;    
+    flex-direction: row;
     color: #495057
 }
 
 .sidebar-item {
     width: 30%;
-    margin: 1.5rem 1rem 1.5rem 1rem;    
+    margin: 1.5rem 1rem 1.5rem 1rem;
 }
 
 .sidebar-item-disconnect {
     width: 10%;
     margin: 1.5rem 1rem 1.5rem 1rem;
-    text-align: center;       
+    text-align: center;
 }
 
 a[data-toggle="collapse"] {
@@ -181,8 +200,8 @@ a[data-toggle="collapse"] {
     flex-direction: column;
     padding: 2px 2px 2px 2px;
     min-width: 0;
-    height: auto;    
-    word-wrap: break-word;    
+    height: auto;
+    word-wrap: break-word;
     background-clip: border-box;
     background: #142B80 0% 0% no-repeat padding-box;
     border: 1px solid rgba(0,0,0,.125);
@@ -205,7 +224,7 @@ a[data-toggle="collapse"] {
     height: 60px;
 }
 
-.show-eraser {    
+.show-eraser {
     color: #B0B0B0;
     font-size: 1.5rem;
 }
@@ -260,7 +279,7 @@ a[data-toggle="collapse"] {
     border: 1px solid #2756FF;
     border-radius: 20px;
     opacity: 1;
-    color: #ffffff;    
+    color: #ffffff;
 }
 
 .edge-item {
@@ -294,7 +313,7 @@ a[data-toggle="collapse"] {
     background: #2756FF 0% 0% no-repeat padding-box;
     border-radius: 5px;
     opacity: 1;
-    color: #ffffff;    
+    color: #ffffff;
 }
 
 /* ---------------------------------------------------
@@ -547,7 +566,7 @@ a.nav-link.active {
     Cytoscapejs-cxtmenu
 ----------------------------------------------------- */
 .cxtmenu-content {
-    font-size: 10px;    
+    font-size: 10px;
 }
 
 
diff --git a/package.json b/package.json
index 908f479..3bc75c8 100644
--- a/package.json
+++ b/package.json
@@ -1,18 +1,25 @@
 {
-    "name": "ag-viewer",
-    "version": "0.0.1",
-    "private": true,
-    "scripts": {
-        "setup": "npm install && npm-run-all setup-front setup-backend",
-        "setup-front": "cd frontend && npm install",
-        "setup-backend": "cd backend && npm install",
-        "front": "cd frontend && npm run start",
-        "build-front": "cd frontend  && npm install && npm run build",
-        "backend": "cd backend && npm run start",
-        "deploy": "npm-run-all build-front backend",
-        "start": "npm-run-all --parallel backend front"        
-    },
-    "dependencies": {
-        "npm-run-all": "^4.1.5"
+  "name": "ag-viewer",
+  "version": "0.0.1",
+  "private": true,
+  "scripts": {
+    "setup": "npm install && npm-run-all setup-front setup-backend",
+    "setup-front": "cd frontend && npm install",
+    "setup-backend": "cd backend && npm install",
+    "front": "cd frontend && npm run start",
+    "build-front": "cd frontend  && npm install && npm run build",
+    "backend": "cd backend && npm run start",
+    "deploy": "npm-run-all build-front backend",
+    "start": "npm-run-all --parallel backend front"
+  },
+  "dependencies": {
+    "npm-run-all": "^4.1.5"
+  },
+  "license": "Apache-2.0",
+  "licenses": [
+    {
+      "type": "Apache-2.0",
+      "url": "https://www.apache.org/licenses/LICENSE-2.0"
     }
+  ]
 }