---
# System prepended metadata

title: Blockly API

---

# Blockly API


## Fragen

- Was ist die "Gallery"?
    - In der Gallery gibt es fertige Programme zum öffnen (https://blockly-react.netlify.app/gallery)
- Wie unterscheiden sich Tutorials von eigenen Projekten?
    - Tutorials bestehen aus Instruktionen, Medien (Bilder) und Aufgaben mit Musterlösungen (https://blockly-react.netlify.app/tutorial)
- Was passiert bei `POST Project to share (w/o User)`? 
    - Das ist das Feature was ich am Hack eingebaut habe, damit kann man einen short link erstellen und verschicken. Ist nur eine ID + XML die in der Json gespeichert wird (https://api.blockly.sensebox.de/share so ist es bisher gemacht)

- Wo kommen die User her? Entweder man nimmt die osem user oder alternativ startet man "leer"

Das gibt es schon von nico:
https://github.com/sensebox/blockly-mongo-store
dort wird die Authentification über die openSenseMap gemacht, aber alles andere in einer eigenen MongoDB gespeichert. 


## User

Verwenden der openSenseMap user?

- speichern von Projekten in der Gallery
- speichern von Tutorials
- speichern von privaten Projekten 

UserID der User aus der openSenseMap API


## Routes:

- GET all Tutorials (w/o User)
- GET Tutorial by ID (w/o User)
- GET all Gallery Projects (w/o User)
- GET Gallery Project by ID (w/o User)
- POST new Tutorial (user)
- PUT? update Tutorial (user)
- POST new Gallery Project (user)


- GET all Projects by user
- POST new Project by user



## Share Projects
- POST Project to share (w/o User)
- GET Project from share (w/o User)


---


## Entities/Models

### Gallery

### Project




## Public

- GET all projects
- GET all tutorials


## Auth

- GET own projects
- GET own tutorials
- POST new tutorial