Skip to content
This repository has been archived by the owner on Sep 7, 2020. It is now read-only.

Ressourcen

Stephan edited this page Oct 22, 2019 · 8 revisions

Bereitgestellte Ressourcen

Dieser Service stellt Daten der Typen: Project, Module, StudyCourse bereit. Diese können per REST Schnittstelle abgefragt werden. Hierbei wird der HAL Standart eingehalten.

Ressource: Module

Pfad: /projectModules/

{
      "id" : UUID,
      "name" : Name,
      "projectType" : Type,
      "_links" : {
        "self" : {
          "href" : "https://gpdev.archi-lab.io/modules/UUID"
        },
        "module" : {
          "href" : "https://gpdev.archi-lab.io/modules/UUID"
        }
      }
    }

Beschreibung

Diese Ressource ist eine Kopie der Ressource "Module" aus dem Service "module-service". "Module" sind Module, also alle Veranstaltungen, Pflichtveranstaltungen, oder weitere allgemein definierte Sachen, die Credit Points haben (Dies beinhaltet z.B. Fächer und Abschlussarbeiten). Ein Modul ist exakt einem Studiengang zugeordnet.

Felder Type Beschreibung Constraints
id UUID Die ID des Elementes Primary key
name Text Der Name des Modules Max size: 255
projectType Enum Projekt Type eines Moduls -

Wertebereich für die Felder:

Feld Werte
projectType PP, BA, MA

Erklärung zu den Feldern:

Feld Erklärung
- -
Links:
Links Beschreibung
self Self Link der Ressource
module Link, der auf diese Ressource zeigt

Link zu profile: "https://api.prox.archi-lab.io/profile/projectModules"
Link zu search: "https://api.prox.archi-lab.io/projectModules/search"

Search Links:

findByExternalModuleID
https://api.prox.archi-lab.io/projectModules/search/findByExternalModuleID{?externalModuleID}
Es wird dem Module gesucht, der die entsprechende externe Module ID besitzt.

Ressource: StudyCourse

Pfad: /projectStudyCourses/

{
      "id" : UUID,
      "name" : Name,
      "academicDegree" : Abschlussart (Bachelor / Master),
      "_links" : {
        "self" : {
          "href" : "https://api.prox.archi-lab.io/studyCourses/UUID"
        },
        "studyCourse" : {
          "href" : "https://api.prox.archi-lab.io/studyCourses/UUID"
        },
        "modules" : {
          "href" : "https://api.prox.archi-lab.io/studyCourses/UUID/modules"
        }
      }
    }

Beschreibung

Diese Ressource ist eine Kopie der Ressource "StudyCourse" aus dem Service "module-service". "StudyCourses" sind Studiengänge, also Sachen, für die man sich bewerben kann bei der Hochschule, um diese zu Studieren und eingetragener Student zu werden.

Feld Type Beschreibung Constraints
id UUID Die ID des Elementes Primary Key
name Text Der Name des Studienganges Max Size: 255
academicDegree Enum Die Abschlussart mit den Werten "Bachelor" und "Master" -

Wertebereich für die Felder:

Feld Werte
academicDegree Bachelor, Master

Erklärung zu den Feldern:

Feld Erklärung
- -

Links:

Links Beschreibung
self Self Link der Ressource
studyCourse Link, der auf diese Ressource zeigt
modules Liste Module dieses Studienganges

Link zu profile: "https://api.prox.archi-lab.io/profile/projectStudyCourses"
Link zu search: "https://api.prox.archi-lab.io/projectStudyCourses/search"

Search Links:

findByExternalStudyCourseID
https://api.prox.archi-lab.io/projectStudyCourses/search/findByExternalStudyCourseID{?externalStudyCourseID}
Es wird dem StudyCourse gesucht, der die entsprechende externe StudyCourse ID besitzt.
findByAcademicDegree
https://api.prox.archi-lab.io/projectStudyCourses/search/findByAcademicDegree{?academicDegree}
Es wird nach allen StudyCourses gesucht, die die entsprechende Abschlussart haben.

Ressource: Project

Pfad: /projects/

{
      "id" : UUID,
      "name" : Name,
      "shortDescription": Text,
      "description": Text,
      "requirement": Text,
      "status": Enum,
      "creatorID": UUID,
      "creatorName": Text,
      "supervisorName": Text,
      "created": DateTime,
 	  "modified": DateTime,
    
      "_links" : {
        "self" : {
          "href" : "https://api.prox.archi-lab.io/studyCourses/UUID"
        },
        "studyCourse" : {
          "href" : "https://api.prox.archi-lab.io/studyCourses/UUID"
        },
        "modules" : {
          "href" : "https://api.prox.archi-lab.io/studyCourses/UUID/modules"
        },
        "tags": {
          "href": "http://tag-service/projects/318fc8b4-2c91-498a-aa17-a00316baf982/tags"
    }
      }
    }

Beschreibung

"StudyCourses" sind Studiengänge, also Sachen, für die man sich bewerben kann bei der Hochschule, um diese zu Studieren und eingetragener Student zu werden.

Feld Type Beschreibung Constraints
id UUID Die ID des Elementes Primary Key
name Text Der Name des Projektes Max Size: 10000
shortDescription Text Kurzer Text, welcher das Projekt beschreibt. Max Size: 10000
description Text Beschreibung des Projektes Max Size: 10000
requirement Text Text, der Vorraussetzungen für das Projekt beschreibt. Max Size: 10000
status Enum/Text Status eines Projektes. -
creatorID UUID ID des Erstellers des Projektes -
creatorName Text Name des Erstellers Max Size: 255
supervisorName Text Name des Verantwortlichen Max Size: 255
created Date Zeitstempel, wann das Projekt erzeugt wurde automatisch erzeugt
modified Date Zeitstempel, wann das Projekt geändert wurde automatisch erzeugt

Wertebereich für die Felder:

Feld Werte
status VERFÜGBAR, LAUFEND, ABGESCHLOSSEN

Erklärung zu den Feldern:

Feld Erklärung
supervisorName Derjenige, der für das Projekt verantwortlich ist.
Links:
Links Beschreibung
self Self Link der Ressource
project Link, der auf diese Ressource zeigt
modules Liste Module, die mit dem Projekt verbunden sind
tags Liste Tags, die mit dem Projekt verbunden sind

Es besteht eine many to many Beziehung von Modulen und Projekten. Der Grund liegt darin, dass z.b. bei dem Modul Bachelor, auch das Modul Kolloquium zur Bachelorarbeit existiert, und diese zusammen gehören, aber als getrennte Module existieren.

Link zu profile: "https://api.prox.archi-lab.io/profile/projects"
Link zu search: "https://api.prox.archi-lab.io/projects/search"

Search Links:

findByStatus
https://api.prox.archi-lab.io/projects/search/findByStatus{?status}
Es wird nach allen Projekten gesucht, die den entsprechenden Status haben.
findBySupervisorName_SupervisorNameContaining
https://api.prox.archi-lab.io/projects/search/findBySupervisorName_SupervisorNameContaining{?supervisorName}
Es wird nach allen Projekten gesucht, die den entsprechenden Supervisor Substring haben.