Properly indent all source files
This commit is contained in:
@ -1,50 +1,50 @@
|
||||
<p>
|
||||
Bosch IoT Cloud space where all applications are hosted:
|
||||
<a href="https://apps.sys.de1.bosch-iot-cloud.com/organizations/b28baba5-f95f-4ce5-bc9c-3f45acd1dfb2">
|
||||
https://apps.sys.de1.bosch-iot-cloud.com/organizations/b28baba5-f95f-4ce5-bc9c-3f45acd1dfb2
|
||||
</a><br>
|
||||
Find the API documentation here:
|
||||
<a href="https://definma-api.apps.de1.bosch-iot-cloud.com/api-doc/">
|
||||
https://definma-api.apps.de1.bosch-iot-cloud.com/api-doc/
|
||||
</a><br>
|
||||
Admin database management page:
|
||||
<a href="https://definma-db.apps.de1.bosch-iot-cloud.com/">
|
||||
https://definma-db.apps.de1.bosch-iot-cloud.com/
|
||||
</a><br>
|
||||
Code repository UI
|
||||
<a href="https://sourcecode.socialcoding.bosch.com/users/vle2fe/repos/definma-ui">
|
||||
https://sourcecode.socialcoding.bosch.com/users/vle2fe/repos/definma-ui
|
||||
</a><br>
|
||||
Code repository API
|
||||
<a href="https://sourcecode.socialcoding.bosch.com/users/vle2fe/repos/definma-api">
|
||||
https://sourcecode.socialcoding.bosch.com/users/vle2fe/repos/definma-api
|
||||
</a><br>
|
||||
Code repository Models
|
||||
<a href="https://sourcecode.socialcoding.bosch.com/users/poe2rng/repos/definma-models">
|
||||
https://sourcecode.socialcoding.bosch.com/users/poe2rng/repos/definma-models
|
||||
</a><br>
|
||||
Bosch IoT Cloud space where all applications are hosted:
|
||||
<a href="https://apps.sys.de1.bosch-iot-cloud.com/organizations/b28baba5-f95f-4ce5-bc9c-3f45acd1dfb2">
|
||||
https://apps.sys.de1.bosch-iot-cloud.com/organizations/b28baba5-f95f-4ce5-bc9c-3f45acd1dfb2
|
||||
</a><br>
|
||||
Find the API documentation here:
|
||||
<a href="https://definma-api.apps.de1.bosch-iot-cloud.com/api-doc/">
|
||||
https://definma-api.apps.de1.bosch-iot-cloud.com/api-doc/
|
||||
</a><br>
|
||||
Admin database management page:
|
||||
<a href="https://definma-db.apps.de1.bosch-iot-cloud.com/">
|
||||
https://definma-db.apps.de1.bosch-iot-cloud.com/
|
||||
</a><br>
|
||||
Code repository UI
|
||||
<a href="https://sourcecode.socialcoding.bosch.com/users/vle2fe/repos/definma-ui">
|
||||
https://sourcecode.socialcoding.bosch.com/users/vle2fe/repos/definma-ui
|
||||
</a><br>
|
||||
Code repository API
|
||||
<a href="https://sourcecode.socialcoding.bosch.com/users/vle2fe/repos/definma-api">
|
||||
https://sourcecode.socialcoding.bosch.com/users/vle2fe/repos/definma-api
|
||||
</a><br>
|
||||
Code repository Models
|
||||
<a href="https://sourcecode.socialcoding.bosch.com/users/poe2rng/repos/definma-models">
|
||||
https://sourcecode.socialcoding.bosch.com/users/poe2rng/repos/definma-models
|
||||
</a><br>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
All applications are hosted in the bosch IoT Cloud. The API is hosted in a Node.js container, with a bound MongoDB
|
||||
instance. <br>
|
||||
The Angular UI is hosted in a staticfile container, serving the built Angular bundle. <br>
|
||||
Finally any machine learning models are hosted in Python containers.
|
||||
All applications are hosted in the bosch IoT Cloud. The API is hosted in a Node.js container, with a bound MongoDB
|
||||
instance. <br>
|
||||
The Angular UI is hosted in a staticfile container, serving the built Angular bundle. <br>
|
||||
Finally any machine learning models are hosted in Python containers.
|
||||
</p>
|
||||
|
||||
<h4>Development setup</h4>
|
||||
|
||||
<p>
|
||||
In any case, it is good to have PxProxy working, following the
|
||||
<a href="https://inside-docupedia.bosch.com/confluence/pages/viewpage.action?pageId=608652557">
|
||||
Bosch installation guide
|
||||
</a>. <br>
|
||||
For pushing to the BIC, you need the CloudFoundry CLI as described in the
|
||||
<a href="https://inside-docupedia.bosch.com/confluence/display/BICI/Cloud+Foundry+CLI">BIC documentation</a>.
|
||||
If the the downloaded version of the CLI should not work, there is an old installer with a definitely working version
|
||||
on the file share in the bin folder.
|
||||
Please consider that you need to have a login to the BIC and be marked as space developer for the DeFinMa Org. <br>
|
||||
For front and back end development, you need a
|
||||
<a href="https://www.mongodb.com/try/download/community">local MongoDB server</a> as well as
|
||||
<a href="https://nodejs.org/en/">Node.js</a>.
|
||||
In any case, it is good to have PxProxy working, following the
|
||||
<a href="https://inside-docupedia.bosch.com/confluence/pages/viewpage.action?pageId=608652557">
|
||||
Bosch installation guide
|
||||
</a>. <br>
|
||||
For pushing to the BIC, you need the CloudFoundry CLI as described in the
|
||||
<a href="https://inside-docupedia.bosch.com/confluence/display/BICI/Cloud+Foundry+CLI">BIC documentation</a>.
|
||||
If the the downloaded version of the CLI should not work, there is an old installer with a definitely working version
|
||||
on the file share in the bin folder.
|
||||
Please consider that you need to have a login to the BIC and be marked as space developer for the DeFinMa Org. <br>
|
||||
For front and back end development, you need a
|
||||
<a href="https://www.mongodb.com/try/download/community">local MongoDB server</a> as well as
|
||||
<a href="https://nodejs.org/en/">Node.js</a>.
|
||||
</p>
|
||||
|
@ -1,15 +1,15 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-documentation-architecture',
|
||||
templateUrl: './documentation-architecture.component.html',
|
||||
styleUrls: ['./documentation-architecture.component.scss']
|
||||
selector: 'app-documentation-architecture',
|
||||
templateUrl: './documentation-architecture.component.html',
|
||||
styleUrls: ['./documentation-architecture.component.scss']
|
||||
})
|
||||
export class DocumentationArchitectureComponent implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
constructor() { }
|
||||
|
||||
ngOnInit(): void {
|
||||
}
|
||||
ngOnInit(): void {
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,38 +1,38 @@
|
||||
<p>
|
||||
The used database instance is a MongoDB instance running on the BIC, storing all application data.
|
||||
The admin database management page can be accessed <a href="https://definma-db.apps.de1.bosch-iot-cloud.com/api-doc/">here</a>.
|
||||
However, it is recommended to use a dedicated MongoDB application for anything apart from a quick look.
|
||||
The two tested applications are <a href="https://www.mongodb.com/products/compass">MongoDB Compass</a> and
|
||||
<a href="https://robomongo.org/s">Robo 3T</a> (recommended for trying queries).
|
||||
The used database instance is a MongoDB instance running on the BIC, storing all application data.
|
||||
The admin database management page can be accessed <a href="https://definma-db.apps.de1.bosch-iot-cloud.com/api-doc/">here</a>.
|
||||
However, it is recommended to use a dedicated MongoDB application for anything apart from a quick look.
|
||||
The two tested applications are <a href="https://www.mongodb.com/products/compass">MongoDB Compass</a> and
|
||||
<a href="https://robomongo.org/s">Robo 3T</a> (recommended for trying queries).
|
||||
</p>
|
||||
<p>
|
||||
To connect to the BIC instance from your local application follow the
|
||||
<a href="https://inside-docupedia.bosch.com/confluence/display/BICI/MongoDB+Client+Tool+via+SSH+Tunnel">BIC guide</a>.
|
||||
<br>
|
||||
TL;DR:
|
||||
To connect to the BIC instance from your local application follow the
|
||||
<a href="https://inside-docupedia.bosch.com/confluence/display/BICI/MongoDB+Client+Tool+via+SSH+Tunnel">BIC guide</a>.
|
||||
<br>
|
||||
TL;DR:
|
||||
</p>
|
||||
|
||||
<p>For the first time:</p>
|
||||
<ul>
|
||||
<li>cf login</li>
|
||||
<li>cf enable-ssh definma-api</li>
|
||||
<li>cf create-service-key definmadb <key name, can be whatever></li>
|
||||
<li>cf login</li>
|
||||
<li>cf enable-ssh definma-api</li>
|
||||
<li>cf create-service-key definmadb <key name, can be whatever></li>
|
||||
</ul>
|
||||
<p>Every time:</p>
|
||||
<ul>
|
||||
<li>cf ssh -L 1120:st0cvm200118.internal-mongodb.de1.bosch-iot-cloud.com:30000 definma-api</li>
|
||||
<li>
|
||||
Login into your application with localhost:1120 and use credentials and authentication database from the BIC
|
||||
(Data can be found at Home > DeFinMa > production > definma-api > Services > dots on the right of definmadb > View Credentials)
|
||||
</li>
|
||||
<li>cf ssh -L 1120:st0cvm200118.internal-mongodb.de1.bosch-iot-cloud.com:30000 definma-api</li>
|
||||
<li>
|
||||
Login into your application with localhost:1120 and use credentials and authentication database from the BIC
|
||||
(Data can be found at Home > DeFinMa > production > definma-api > Services > dots on the right of definmadb > View Credentials)
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4>Backup Instructions</h4>
|
||||
|
||||
<p>
|
||||
For creating a database backup, you must follow the same steps from above (except the last one).
|
||||
Additionally you need the <a href="https://www.mongodb.com/try/download/database-tools">MongoDB Tools</a> installed.
|
||||
Extract the ZIP file to a location on your hard drive and launch a Git Bash in that directory.
|
||||
For creating a database backup, you must follow the same steps from above (except the last one).
|
||||
Additionally you need the <a href="https://www.mongodb.com/try/download/database-tools">MongoDB Tools</a> installed.
|
||||
Extract the ZIP file to a location on your hard drive and launch a Git Bash in that directory.
|
||||
</p>
|
||||
|
||||
<p>To back up the database from the BIC:</p>
|
||||
@ -51,377 +51,377 @@
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
More information can be found inside the
|
||||
<a href="https://docs.mongodb.com/database-tools/">documentation</a>. <br>
|
||||
The BIC service also creates an internal backup, which can be requested to restore, see
|
||||
<a href="https://inside-docupedia.bosch.com/confluence/pages/viewpage.action?pageId=565402281">MongoDB FAQ</a>
|
||||
More information can be found inside the
|
||||
<a href="https://docs.mongodb.com/database-tools/">documentation</a>. <br>
|
||||
The BIC service also creates an internal backup, which can be requested to restore, see
|
||||
<a href="https://inside-docupedia.bosch.com/confluence/pages/viewpage.action?pageId=565402281">MongoDB FAQ</a>
|
||||
</p>
|
||||
|
||||
<h4>Database Model</h4>
|
||||
|
||||
<app-img-magnifier src="assets/imgs/db_structure_latest.svg" zoom="2" [magnifierSize]="{width: 400, height: 300}"
|
||||
id="db-structure"></app-img-magnifier>
|
||||
id="db-structure"></app-img-magnifier>
|
||||
|
||||
<h4>Field Reference</h4>
|
||||
|
||||
<rb-table class="field-reference">
|
||||
<tr><th>samples</th><th></th><th>Example</th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63c98d1c020f8cda6e06'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>type</td>
|
||||
<td>
|
||||
The material status of the sample, can be either <span class="name">as-delivered/raw</span> or
|
||||
<span class="name">processed</span>.
|
||||
</td>
|
||||
<td>'processed'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>number</td>
|
||||
<td>The sample number, generated by the server for new samples</td>
|
||||
<td>'An31'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>color</td>
|
||||
<td>Sample color</td>
|
||||
<td>'black'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>batch</td>
|
||||
<td>Batch number the sample was from</td>
|
||||
<td>'2264486614'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>Status of the document, can be either <span class="name">new</span>, <span class="name">validated</span> or
|
||||
<span class="name">deleted</span>.</td>
|
||||
<td>'new'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>condition</td>
|
||||
<td>sample condition with <span class="name">condition_template</span> reference and all fields defined by the
|
||||
template</td>
|
||||
<td>{{'{'}}condition_template: '5f3151b5b8a886007d2de9ed', time in minutes: 30{{'}'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>material_id</td>
|
||||
<td>Reference to the sample material</td>
|
||||
<td>'5f2e63118d1c020f8cda6a0a'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>note_id</td>
|
||||
<td>Reference to the sample note</td>
|
||||
<td>'5f2e63c98d1c020f8cda6e08'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user_id</td>
|
||||
<td>Reference to the user who created the sample</td>
|
||||
<td>'5f294dd4aa9ea5085c7d7315'</td>
|
||||
</tr>
|
||||
<tr><th>samples</th><th></th><th>Example</th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63c98d1c020f8cda6e06'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>type</td>
|
||||
<td>
|
||||
The material status of the sample, can be either <span class="name">as-delivered/raw</span> or
|
||||
<span class="name">processed</span>.
|
||||
</td>
|
||||
<td>'processed'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>number</td>
|
||||
<td>The sample number, generated by the server for new samples</td>
|
||||
<td>'An31'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>color</td>
|
||||
<td>Sample color</td>
|
||||
<td>'black'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>batch</td>
|
||||
<td>Batch number the sample was from</td>
|
||||
<td>'2264486614'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>Status of the document, can be either <span class="name">new</span>, <span class="name">validated</span> or
|
||||
<span class="name">deleted</span>.</td>
|
||||
<td>'new'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>condition</td>
|
||||
<td>sample condition with <span class="name">condition_template</span> reference and all fields defined by the
|
||||
template</td>
|
||||
<td>{{'{'}}condition_template: '5f3151b5b8a886007d2de9ed', time in minutes: 30{{'}'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>material_id</td>
|
||||
<td>Reference to the sample material</td>
|
||||
<td>'5f2e63118d1c020f8cda6a0a'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>note_id</td>
|
||||
<td>Reference to the sample note</td>
|
||||
<td>'5f2e63c98d1c020f8cda6e08'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user_id</td>
|
||||
<td>Reference to the user who created the sample</td>
|
||||
<td>'5f294dd4aa9ea5085c7d7315'</td>
|
||||
</tr>
|
||||
|
||||
<tr><th>notes</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63e98d1c020f8cda70cc'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>comment</td>
|
||||
<td>General remarks</td>
|
||||
<td>'stabilized'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sample_references</td>
|
||||
<td>Array of references to other samples, each reference containing the referenced <span class="name">sample_id
|
||||
</span> as well as a <span class="name">relation</span> field describing the relationship</td>
|
||||
<td>{{'{'}}sample_id: '5f2e63d68d1c020f8cda701c', relation: 'belongs to'{{'}'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>custom_fields</td>
|
||||
<td>Additional information as key value pairs for the sample, making it easier to process this information</td>
|
||||
<td>{{'{'}}vwz: '0 min'{{'}'}}</td>
|
||||
</tr>
|
||||
<tr><th>notes</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63e98d1c020f8cda70cc'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>comment</td>
|
||||
<td>General remarks</td>
|
||||
<td>'stabilized'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sample_references</td>
|
||||
<td>Array of references to other samples, each reference containing the referenced <span class="name">sample_id
|
||||
</span> as well as a <span class="name">relation</span> field describing the relationship</td>
|
||||
<td>{{'{'}}sample_id: '5f2e63d68d1c020f8cda701c', relation: 'belongs to'{{'}'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>custom_fields</td>
|
||||
<td>Additional information as key value pairs for the sample, making it easier to process this information</td>
|
||||
<td>{{'{'}}vwz: '0 min'{{'}'}}</td>
|
||||
</tr>
|
||||
|
||||
<tr><th>note_fields</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63e98d1c020f8cda70ce'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>name of the <span class="name">custom_fields</span> key</td>
|
||||
<td>'test series'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>qty</td>
|
||||
<td>number of notes with this key</td>
|
||||
<td>24</td>
|
||||
</tr>
|
||||
<tr><th>note_fields</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63e98d1c020f8cda70ce'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>name of the <span class="name">custom_fields</span> key</td>
|
||||
<td>'test series'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>qty</td>
|
||||
<td>number of notes with this key</td>
|
||||
<td>24</td>
|
||||
</tr>
|
||||
|
||||
<tr><th>materials</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63e98d1c020f8cda70d0'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Trade name of the material</td>
|
||||
<td>'Ultradur B4300 G6'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>numbers</td>
|
||||
<td>Bosch material part numbers</td>
|
||||
<td>['5515753021, '5515753404']</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>properties</td>
|
||||
<td>material class specific properties with <span class="name">material_template</span> reference and all fields
|
||||
defined by the template</td>
|
||||
<td>{{'{'}}material_template: '5f2e89874ac96c007fb06e83', mineral: 0, glass_fiber: 30, carbon_fiber: 0{{'}'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>group_id</td>
|
||||
<td>Reference to the material group</td>
|
||||
<td>'5f2e631191c5d68f8a0708c4'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>supplier_id</td>
|
||||
<td>Reference to the material supplier</td>
|
||||
<td>'5f2e631191c5d68f8a0708c7'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>Status of the document, can be either <span class="name">new</span>, <span class="name">validated</span> or
|
||||
<span class="name">deleted</span>.</td>
|
||||
<td>'new'</td>
|
||||
</tr>
|
||||
<tr><th>materials</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63e98d1c020f8cda70d0'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Trade name of the material</td>
|
||||
<td>'Ultradur B4300 G6'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>numbers</td>
|
||||
<td>Bosch material part numbers</td>
|
||||
<td>['5515753021, '5515753404']</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>properties</td>
|
||||
<td>material class specific properties with <span class="name">material_template</span> reference and all fields
|
||||
defined by the template</td>
|
||||
<td>{{'{'}}material_template: '5f2e89874ac96c007fb06e83', mineral: 0, glass_fiber: 30, carbon_fiber: 0{{'}'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>group_id</td>
|
||||
<td>Reference to the material group</td>
|
||||
<td>'5f2e631191c5d68f8a0708c4'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>supplier_id</td>
|
||||
<td>Reference to the material supplier</td>
|
||||
<td>'5f2e631191c5d68f8a0708c7'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>Status of the document, can be either <span class="name">new</span>, <span class="name">validated</span> or
|
||||
<span class="name">deleted</span>.</td>
|
||||
<td>'new'</td>
|
||||
</tr>
|
||||
|
||||
<tr><th>material_groups</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e631291c5d68f8a0708f9'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>The chemical material type</td>
|
||||
<td>'PA66'</td>
|
||||
</tr>
|
||||
<tr><th>material_groups</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e631291c5d68f8a0708f9'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>The chemical material type</td>
|
||||
<td>'PA66'</td>
|
||||
</tr>
|
||||
|
||||
<tr><th>material_supplier</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e631991c5d68f8a0709c3'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>The material supplier</td>
|
||||
<td>'BASF'</td>
|
||||
</tr>
|
||||
<tr><th>material_supplier</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e631991c5d68f8a0709c3'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>The material supplier</td>
|
||||
<td>'BASF'</td>
|
||||
</tr>
|
||||
|
||||
<tr><th>measurements</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f294d25aa9ea5085c7d7305'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sample_id</td>
|
||||
<td>Reference to the sample this measurement belongs to</td>
|
||||
<td>'5f2e63c98d1c020f8cda6e06'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>measurement_template</td>
|
||||
<td>Reference to the Template defining the structure of the measurement values</td>
|
||||
<td>'5f294d25aa9ea5085c7d7305'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>values</td>
|
||||
<td>Measurement values in defined format</td>
|
||||
<td>{{'{'}}vn: 100.4{{'}'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>Status of the document, can be either <span class="name">new</span>, <span class="name">validated</span> or
|
||||
<span class="name">deleted</span>.</td>
|
||||
<td>'new'</td>
|
||||
</tr>
|
||||
<tr><th>measurements</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f294d25aa9ea5085c7d7305'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sample_id</td>
|
||||
<td>Reference to the sample this measurement belongs to</td>
|
||||
<td>'5f2e63c98d1c020f8cda6e06'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>measurement_template</td>
|
||||
<td>Reference to the Template defining the structure of the measurement values</td>
|
||||
<td>'5f294d25aa9ea5085c7d7305'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>values</td>
|
||||
<td>Measurement values in defined format</td>
|
||||
<td>{{'{'}}vn: 100.4{{'}'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>Status of the document, can be either <span class="name">new</span>, <span class="name">validated</span> or
|
||||
<span class="name">deleted</span>.</td>
|
||||
<td>'new'</td>
|
||||
</tr>
|
||||
|
||||
<tr><th><collection>_templates</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63ee8d1c020f8cda7128'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Display name of the template</td>
|
||||
<td>'spectrum'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>version</td>
|
||||
<td>Version number of the template</td>
|
||||
<td>2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>first_id</td>
|
||||
<td>Reference to the first instance of this template with <span class="name">version</span> number 1</td>
|
||||
<td>'5f2e89bb4ac96c007fb06e86'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>parameters</td>
|
||||
<td>Specified parameters of this template. The <span class="name">name</span> property is used as the key in the
|
||||
document using this template, the range can have the following properties: <span class="name">min</span> specifies
|
||||
the minimum numeric value, <span class="name">max</span> specifies the maximum numeric value, <span class="name">
|
||||
values</span> specifies an array of allowed values of this parameter and <span class="name">type: 'array'</span>
|
||||
specifies that this parameter must be an array</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr><th><collection>_templates</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63ee8d1c020f8cda7128'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Display name of the template</td>
|
||||
<td>'spectrum'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>version</td>
|
||||
<td>Version number of the template</td>
|
||||
<td>2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>first_id</td>
|
||||
<td>Reference to the first instance of this template with <span class="name">version</span> number 1</td>
|
||||
<td>'5f2e89bb4ac96c007fb06e86'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>parameters</td>
|
||||
<td>Specified parameters of this template. The <span class="name">name</span> property is used as the key in the
|
||||
document using this template, the range can have the following properties: <span class="name">min</span> specifies
|
||||
the minimum numeric value, <span class="name">max</span> specifies the maximum numeric value, <span class="name">
|
||||
values</span> specifies an array of allowed values of this parameter and <span class="name">type: 'array'</span>
|
||||
specifies that this parameter must be an array</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr><th>users</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63cc8d1c020f8cda6e6a'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>The username</td>
|
||||
<td>'admin'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>email</td>
|
||||
<td>The user's email address used for password reset</td>
|
||||
<td>'test@bosch.com'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>location</td>
|
||||
<td>The abbreviation of the Bosch site of the user</td>
|
||||
<td>'Rng'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>level</td>
|
||||
<td>The permission level, can be either <span class="name">read</span>, <span class="name">write</span>,
|
||||
<span class="name">dev</span> or <span class="name">admin</span>. The exact level permissions can be found at the
|
||||
<a routerLink="/documentation">general documentation</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>devices</td>
|
||||
<td>Array of all spectrum measurement devices the user has access to</td>
|
||||
<td>['Rng01', 'Rng02']</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>pass</td>
|
||||
<td>The user's password in hashed form using bcrypt</td>
|
||||
<td>'$2a$10$m8DqvZR3plZEv8EPwPo7Luvyrm/ZQDiPzfBh6bpU/1XFWOGONkJyG'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>key</td>
|
||||
<td>The API key, generated when the user is created</td>
|
||||
<td>'5f294dd4aa9ea5085c7d7314'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>models</td>
|
||||
<td>
|
||||
Reference to the prediction models the user should have access to. Ignored for <span class="name">dev</span> and
|
||||
<span class="name">admin</span> as they automatically have access to all models.
|
||||
</td>
|
||||
<td>['5f466fb1e566810dd8b3e919', '5f294d8aaa9ea5085c7d730b']</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>Status of the document, can be either <span class="name">new</span>, <span class="name">validated</span> or
|
||||
<span class="name">deleted</span>.</td>
|
||||
<td>'new'</td>
|
||||
</tr>
|
||||
<tr><th>users</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63cc8d1c020f8cda6e6a'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>The username</td>
|
||||
<td>'admin'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>email</td>
|
||||
<td>The user's email address used for password reset</td>
|
||||
<td>'test@bosch.com'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>location</td>
|
||||
<td>The abbreviation of the Bosch site of the user</td>
|
||||
<td>'Rng'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>level</td>
|
||||
<td>The permission level, can be either <span class="name">read</span>, <span class="name">write</span>,
|
||||
<span class="name">dev</span> or <span class="name">admin</span>. The exact level permissions can be found at the
|
||||
<a routerLink="/documentation">general documentation</a></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>devices</td>
|
||||
<td>Array of all spectrum measurement devices the user has access to</td>
|
||||
<td>['Rng01', 'Rng02']</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>pass</td>
|
||||
<td>The user's password in hashed form using bcrypt</td>
|
||||
<td>'$2a$10$m8DqvZR3plZEv8EPwPo7Luvyrm/ZQDiPzfBh6bpU/1XFWOGONkJyG'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>key</td>
|
||||
<td>The API key, generated when the user is created</td>
|
||||
<td>'5f294dd4aa9ea5085c7d7314'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>models</td>
|
||||
<td>
|
||||
Reference to the prediction models the user should have access to. Ignored for <span class="name">dev</span> and
|
||||
<span class="name">admin</span> as they automatically have access to all models.
|
||||
</td>
|
||||
<td>['5f466fb1e566810dd8b3e919', '5f294d8aaa9ea5085c7d730b']</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>Status of the document, can be either <span class="name">new</span>, <span class="name">validated</span> or
|
||||
<span class="name">deleted</span>.</td>
|
||||
<td>'new'</td>
|
||||
</tr>
|
||||
|
||||
<tr><th>models</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>group</td>
|
||||
<td>group the model belongs to</td>
|
||||
<td>'VN'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>models</td>
|
||||
<td>models of the group with _id, name and url to the Python endpoint</td>
|
||||
<td>{{'{'}}_id: '5f466fb1e566810dd8b3e919', name: POM, url: 'http://localhost:9099/test'{{'}'}}</td>
|
||||
</tr>
|
||||
<tr><th>models</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>group</td>
|
||||
<td>group the model belongs to</td>
|
||||
<td>'VN'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>models</td>
|
||||
<td>models of the group with _id, name and url to the Python endpoint</td>
|
||||
<td>{{'{'}}_id: '5f466fb1e566810dd8b3e919', name: POM, url: 'http://localhost:9099/test'{{'}'}}</td>
|
||||
</tr>
|
||||
|
||||
<tr><th>model_files</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f294d47aa9ea5085c7d7308'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>The name of the model</td>
|
||||
<td>'humidity-1'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>data</td>
|
||||
<td>The Python model data in binary format</td>
|
||||
<td><binary data></td>
|
||||
</tr>
|
||||
<tr><th>model_files</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f294d47aa9ea5085c7d7308'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>The name of the model</td>
|
||||
<td>'humidity-1'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>data</td>
|
||||
<td>The Python model data in binary format</td>
|
||||
<td><binary data></td>
|
||||
</tr>
|
||||
|
||||
<tr><th>changelogs</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63cc8d1c020f8cda6e6e'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>action</td>
|
||||
<td>The URL which invoked the database write access</td>
|
||||
<td>'POST /material/new'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>collection_name</td>
|
||||
<td>Collection that was written to</td>
|
||||
<td>'material_groups'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>conditions</td>
|
||||
<td>Condition arguments used when accessing the database</td>
|
||||
<td>{{'{'}}id: '5f2e63118d1c020f8cda6a0a'{{'}'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>data</td>
|
||||
<td>data which was written to the database</td>
|
||||
<td>{{'{'}}name: 'PBT'{{'}'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user_id</td>
|
||||
<td>The user that executed this command</td>
|
||||
<td>'5f2e63118d1c020f8cda6a09'</td>
|
||||
</tr>
|
||||
<tr><th>changelogs</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63cc8d1c020f8cda6e6e'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>action</td>
|
||||
<td>The URL which invoked the database write access</td>
|
||||
<td>'POST /material/new'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>collection_name</td>
|
||||
<td>Collection that was written to</td>
|
||||
<td>'material_groups'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>conditions</td>
|
||||
<td>Condition arguments used when accessing the database</td>
|
||||
<td>{{'{'}}id: '5f2e63118d1c020f8cda6a0a'{{'}'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>data</td>
|
||||
<td>data which was written to the database</td>
|
||||
<td>{{'{'}}name: 'PBT'{{'}'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user_id</td>
|
||||
<td>The user that executed this command</td>
|
||||
<td>'5f2e63118d1c020f8cda6a09'</td>
|
||||
</tr>
|
||||
|
||||
<tr><th>help</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63d28d1c020f8cda6f86'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>key</td>
|
||||
<td>The key used to find the required help text</td>
|
||||
<td>'/documentation/database'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>level</td>
|
||||
<td>The minimum level required to read this help</td>
|
||||
<td>'write'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>text</td>
|
||||
<td>The actual help text</td>
|
||||
<td>'This page documents the database.'</td>
|
||||
</tr>
|
||||
<tr><th>help</th><th></th><th></th></tr>
|
||||
<tr>
|
||||
<td>_id</td>
|
||||
<td>Automatically generated unique id</td>
|
||||
<td>'5f2e63d28d1c020f8cda6f86'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>key</td>
|
||||
<td>The key used to find the required help text</td>
|
||||
<td>'/documentation/database'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>level</td>
|
||||
<td>The minimum level required to read this help</td>
|
||||
<td>'write'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>text</td>
|
||||
<td>The actual help text</td>
|
||||
<td>'This page documents the database.'</td>
|
||||
</tr>
|
||||
</rb-table>
|
||||
|
@ -1,14 +1,14 @@
|
||||
.field-reference td:nth-child(3) {
|
||||
font-family: boschmono, monospace;
|
||||
font-family: boschmono, monospace;
|
||||
}
|
||||
|
||||
span.name {
|
||||
font-style: italic;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
pre {
|
||||
padding: 1rem;
|
||||
color: #212529;
|
||||
background: #e6e6e6;
|
||||
white-space: pre-wrap;
|
||||
padding: 1rem;
|
||||
color: #212529;
|
||||
background: #e6e6e6;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
@ -1,15 +1,15 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-documentation-database',
|
||||
templateUrl: './documentation-database.component.html',
|
||||
styleUrls: ['./documentation-database.component.scss']
|
||||
selector: 'app-documentation-database',
|
||||
templateUrl: './documentation-database.component.html',
|
||||
styleUrls: ['./documentation-database.component.scss']
|
||||
})
|
||||
export class DocumentationDatabaseComponent implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
constructor() { }
|
||||
|
||||
ngOnInit(): void {
|
||||
}
|
||||
ngOnInit(): void {
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,38 +1,38 @@
|
||||
<h4>Model file upload</h4>
|
||||
|
||||
<p>
|
||||
Model files have to be saved as a .pkl file in 80_Modelle_BIC. <br>
|
||||
For upload the upload script has to be opened (can be in every environment). The name of the model file has to be
|
||||
entered wih the .pkl ending in the first command and without .pkl in the second.
|
||||
Model files have to be saved as a .pkl file in 80_Modelle_BIC. <br>
|
||||
For upload the upload script has to be opened (can be in every environment). The name of the model file has to be
|
||||
entered wih the .pkl ending in the first command and without .pkl in the second.
|
||||
</p>
|
||||
|
||||
<h4 class="space-above">Adding new model scripts</h4>
|
||||
|
||||
<p>
|
||||
Open Spyder in the base environment and open the model.py within.
|
||||
Open Spyder in the base environment and open the model.py within.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Enter model file name without .pkl in fetchData</li>
|
||||
<li>Add new prediction function below others</li>
|
||||
<li>duplicate another @app.route and rename according to desired route name and prediction function name</li>
|
||||
<li>Enter model file name without .pkl in fetchData</li>
|
||||
<li>Add new prediction function below others</li>
|
||||
<li>duplicate another @app.route and rename according to desired route name and prediction function name</li>
|
||||
</ul>
|
||||
|
||||
<h4 class="space-above">Testing locally</h4>
|
||||
|
||||
<p>
|
||||
To test the model Python script locally, you need to execute it in the base environment, in which all necessary
|
||||
packages have to be installed. Note that Spyder also has to be opened in the base environment.
|
||||
To test the model Python script locally, you need to execute it in the base environment, in which all necessary
|
||||
packages have to be installed. Note that Spyder also has to be opened in the base environment.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Open a separate Anaconda Prompt and cd into the definma-UI folder</li>
|
||||
<li>Adapt the model-mock.json at definma-UI/assets/ and enter the new model URL and name</li>
|
||||
<li>Execute "python -m http.server" in the Anaconda Prompt</li>
|
||||
<li>Execute the model.py script in Spyder</li>
|
||||
<li>Navigate to <a href="http://localhost:8000">http://localhost:8000</a> in the browser</li>
|
||||
<li>If there are problems with cached data, open the Browser developer console (Ctrl+Shift+I) and tick
|
||||
"Disable cache" in the Network tab. The console then has to stay open.</li>
|
||||
<li>Open a separate Anaconda Prompt and cd into the definma-UI folder</li>
|
||||
<li>Adapt the model-mock.json at definma-UI/assets/ and enter the new model URL and name</li>
|
||||
<li>Execute "python -m http.server" in the Anaconda Prompt</li>
|
||||
<li>Execute the model.py script in Spyder</li>
|
||||
<li>Navigate to <a href="http://localhost:8000">http://localhost:8000</a> in the browser</li>
|
||||
<li>If there are problems with cached data, open the Browser developer console (Ctrl+Shift+I) and tick
|
||||
"Disable cache" in the Network tab. The console then has to stay open.</li>
|
||||
</ul>
|
||||
|
||||
<h4 class="space-above">Model script upload</h4>
|
||||
@ -40,17 +40,17 @@
|
||||
In the Windows Powershell:
|
||||
|
||||
<ul>
|
||||
<li>cf login (only at the first time)</li>
|
||||
<li>API endpoint: https://api.sys.de1.bosch-iot-cloud.com</li>
|
||||
<li>Enter email with .de.bosch.com</li>
|
||||
<li>Enter BIC password</li>
|
||||
<li>Select space to upload to (currently 3 - development)</li>
|
||||
<li>cd into the folder containing the manifest.yaml (here is also model.py)</li>
|
||||
<li>cf push</li>
|
||||
<li>cf login (only at the first time)</li>
|
||||
<li>API endpoint: https://api.sys.de1.bosch-iot-cloud.com</li>
|
||||
<li>Enter email with .de.bosch.com</li>
|
||||
<li>Enter BIC password</li>
|
||||
<li>Select space to upload to (currently 3 - development)</li>
|
||||
<li>cd into the folder containing the manifest.yaml (here is also model.py)</li>
|
||||
<li>cf push</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
After upload the new model details have to be entered in the UI.
|
||||
After upload the new model details have to be entered in the UI.
|
||||
</p>
|
||||
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
|
||||
@Component({
|
||||
selector: 'app-documentation-models',
|
||||
templateUrl: './documentation-models.component.html',
|
||||
styleUrls: ['./documentation-models.component.scss']
|
||||
selector: 'app-documentation-models',
|
||||
templateUrl: './documentation-models.component.html',
|
||||
styleUrls: ['./documentation-models.component.scss']
|
||||
})
|
||||
export class DocumentationModelsComponent implements OnInit {
|
||||
|
||||
constructor() { }
|
||||
constructor() { }
|
||||
|
||||
ngOnInit(): void {
|
||||
}
|
||||
ngOnInit(): void {
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,78 +1,78 @@
|
||||
<p>
|
||||
<a [href]="api.hostName + '/static/intro-presentation/index.html'">
|
||||
View the presentation explaining the main functions
|
||||
</a><br>
|
||||
View the <a href="/assets/docs/Veit-Lukas_T3000.pdf">T3000 report</a> and
|
||||
<a href="/assets/docs/Veit-Lukas_Bachelor-Thesis.pdf">Bachelor Thesis</a> for an in-depth application description.
|
||||
<a [href]="api.hostName + '/static/intro-presentation/index.html'">
|
||||
View the presentation explaining the main functions
|
||||
</a><br>
|
||||
View the <a href="/assets/docs/Veit-Lukas_T3000.pdf">T3000 report</a> and
|
||||
<a href="/assets/docs/Veit-Lukas_Bachelor-Thesis.pdf">Bachelor Thesis</a> for an in-depth application description.
|
||||
</p>
|
||||
|
||||
<h4>User levels</h4>
|
||||
|
||||
<rb-table>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>prediction</th>
|
||||
<th>read</th>
|
||||
<th>write</th>
|
||||
<th>dev</th>
|
||||
<th>admin</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>use prediction models</th>
|
||||
<td>specified ones</td>
|
||||
<td>specified ones</td>
|
||||
<td>specified ones</td>
|
||||
<td>all</td>
|
||||
<td>all</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>read sample data</th>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>add samples/edit own</th>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>read spectral data</th>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>edit other's data</th>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>maintain templates</th>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>edit users</th>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>prediction</th>
|
||||
<th>read</th>
|
||||
<th>write</th>
|
||||
<th>dev</th>
|
||||
<th>admin</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>use prediction models</th>
|
||||
<td>specified ones</td>
|
||||
<td>specified ones</td>
|
||||
<td>specified ones</td>
|
||||
<td>all</td>
|
||||
<td>all</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>read sample data</th>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>add samples/edit own</th>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>read spectral data</th>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>edit other's data</th>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>maintain templates</th>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>edit users</th>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-abort-frame"></span></td>
|
||||
<td><span class="rb-ic rb-ic-checkmark-frame"></span></td>
|
||||
</tr>
|
||||
</rb-table>
|
||||
|
||||
|
||||
|
@ -1,17 +1,17 @@
|
||||
@import "~@inst-iot/bosch-angular-ui-components/styles/variables/colors";
|
||||
|
||||
p {
|
||||
margin-bottom: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
img#db-structure {
|
||||
width: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.rb-ic-checkmark-frame {
|
||||
color: $brand-success;
|
||||
color: $brand-success;
|
||||
}
|
||||
|
||||
.rb-ic-abort-frame {
|
||||
color: $brand-danger;
|
||||
color: $brand-danger;
|
||||
}
|
||||
|
@ -3,17 +3,17 @@ import {ApiService} from '../services/api.service';
|
||||
|
||||
|
||||
@Component({
|
||||
selector: 'app-documentation',
|
||||
templateUrl: './documentation.component.html',
|
||||
styleUrls: ['./documentation.component.scss']
|
||||
selector: 'app-documentation',
|
||||
templateUrl: './documentation.component.html',
|
||||
styleUrls: ['./documentation.component.scss']
|
||||
})
|
||||
export class DocumentationComponent implements OnInit {
|
||||
|
||||
constructor(
|
||||
public api: ApiService
|
||||
) { }
|
||||
constructor(
|
||||
public api: ApiService
|
||||
) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
}
|
||||
ngOnInit(): void {
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user