# Architecture Overview 

## Conceptual Design
![Sandbox Architecture](res/sandbox-architecture.png)
## Development Environment
An interactive, browser-based, development playground provides beginners and advanced users an isolated and safe AI playground.
## Training Environment
For long running processes (building/training) a userfriendly pipeline is available.
## Use Cases
The sandbox offers the possibility to provide interactive use cases and demo scripts for online courses.
## Data Generator
In order to analyse training behaviour of maschine learning models, synthetic data can be generator according to the user requirements. (tbd)
## Data Pool
The Data Pool allows the user to exchange data with other sandbox users, advanced users, and scientific users. Therefore the users can use the storage for their assignments (notebook files), data (training) and other sandbox driven data. 
## Sandbox Use Cases
The following scenarios can be derived for the system: on the one hand, the system is to be used for teaching and on the other hand, the system is to be used for training. 
Therefore, a mixed-use architecture is provided, which allows the system to be used for these two different requirements, hence following role concept has been designed: 

### Roles 

**User**
* Teaching/Use Cases in the area of ethics, business and law.
* Assignments Editing
* Provide interactive examples / demos and course material

**Advanced User**
* Teaching/Use Cases in the field of IT
* Tasks Editing
* Provide/develop (own) examples/demos.

**Scientific User**
* Data generation using synthetic data generator (tbd)
* GPU usage
* version control (GIT)
* CI/CD for long running tasks
* Storage
