-
Notifications
You must be signed in to change notification settings - Fork 4
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.
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"
}
}
}
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. |
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"
}
}
}
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. |
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"
}
}
}
"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. |