Compare commits

...

43 Commits

Author SHA1 Message Date
e10a184fd3 Added documenation pdfs 2022-02-11 10:01:48 +01:00
bf4759d744 Added associations to client class diagramm 2022-02-09 20:32:17 +01:00
d4b2851b86 Added associations at server class diagramm 2022-02-09 19:54:27 +01:00
3381fb57ef Fixed dia 2022-02-08 08:53:14 +01:00
5f089650e0 Added class dia for server 2022-02-07 15:02:34 +01:00
68f12b02b5 Added all diagrams 2022-02-07 13:07:46 +01:00
4b563e136c Added classes from app 2022-02-07 12:16:59 +01:00
4e59993e0b Added directory structure for diagramms 2022-02-07 10:35:56 +01:00
a0408983b1 Added png 2022-02-05 18:53:04 +01:00
be96f9efc2 Update diagrams 2022-02-05 18:51:41 +01:00
63bd63d124 Merge branch 'master' of git.bib.de:MAM/VPR-Docs 2022-02-01 10:23:04 +01:00
e174da799f Update activity diagram 2022-02-01 10:22:50 +01:00
62384a33b3 Merge branch 'master' of git.bib.de:MAM/VPR-Docs 2022-01-25 10:43:20 +01:00
390095c276 Updated API-ref 2022-01-25 10:43:01 +01:00
90676be5ec Updated DB-docs 2022-01-25 10:40:15 +01:00
28cb0bd664 Update 'Docs/testcases.md' 2022-01-17 09:19:23 +01:00
f700c79f16 Updated testcaseses 2022-01-11 10:03:42 +01:00
b98bad7a76 Added postman savefile 2022-01-10 13:01:38 +01:00
8bfded7e97 added testcases 2022-01-10 11:22:33 +01:00
8897cada7f Fixed testcase 4 2021-12-21 10:32:45 +01:00
cd245f19c3 Merge branch 'master' of git.bib.de:MAM/VPR-Docs 2021-12-21 10:32:12 +01:00
416e9a9a0a Updated required date format 2021-12-21 10:32:08 +01:00
4efb5154df Updated db-schema 2021-12-20 19:43:00 +01:00
29bc01fb42 Added testcases for creating event 2021-12-20 13:03:35 +01:00
e3bdfee519 Merge branch 'master' of git.bib.de:MAM/VPR-Docs 2021-12-20 12:43:19 +01:00
d55211eda5 Updated prototype login and settings 2021-12-20 12:43:01 +01:00
87514c664c added API Reference 2021-11-30 10:17:09 +01:00
f2847e9454 Merge branch 'master' of git.bib.de:MAM/VPR-Docs 2021-11-29 15:49:10 +01:00
59f3728d6f updated DB docs 2021-11-29 15:49:07 +01:00
0bfd6efd4a updated coding guide 2021-11-29 09:50:43 +01:00
e1124df99d updated coding guide 2021-11-28 19:38:20 +01:00
be3896b992 changed name from 'ui_stylguide' to 'ui guide' 2021-11-22 10:17:30 +01:00
e7aa7ce59b changed image from html to markdown in styleguide 2021-11-17 21:14:56 +01:00
390845a54c removed bakups 2021-11-17 15:10:14 +01:00
2d8bdf410c updated wireframe and created prototype 2021-11-17 15:07:57 +01:00
87e6db6a6b Update 'Docs/coding guide.md' 2021-11-16 12:22:17 +01:00
0787eff1d7 updated coding guide 2021-11-16 12:21:49 +01:00
d829aa101a moved ui styleguide src 2021-11-16 11:17:43 +01:00
e8444dfe44 Merge branch 'master' of git.bib.de:MAM/VPR-Docs 2021-11-16 11:14:20 +01:00
480a047e01 added ui styleguide 2021-11-16 11:14:17 +01:00
ce2d6a2442 Merge branch 'master' of git.bib.de:MAM/VPR-Docs 2021-11-16 11:03:10 +01:00
6fe4eb0bbd added new naming conventions 2021-11-16 11:03:05 +01:00
5c715a6814 Formatting settings General and Arrays 2021-11-16 11:01:40 +01:00
35 changed files with 480 additions and 27 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
*.bak*
*.lck

Binary file not shown.

Binary file not shown.

View File

@@ -1,30 +1,38 @@
https://dbdiagram.io/d/
Table "event" {
"id" bigint(20) [pk, not null, increment]
"name" varchar(255) [default: NULL]
"start" time [default: NULL]
"end" time [default: NULL]
"is_full_day" bit(1) [not null]
"is_private" bit(1) [not null]
"priority" int(11) [default: NULL]
}
Table "user" {
"id" INT(10) [pk]
"name" VARCHAR(20)
"forename" VARCHAR(20)
"password" VARCHAR(20)
"token" VARCHAR(20)
"is_admin" BIT
"id" bigint(20) [pk, not null, increment]
"login" varchar(255) [default: NULL]
"forename" varchar(255) [default: NULL]
"name" varchar(255) [default: NULL]
"is_admin" bit(1) [not null]
"password" tinyblob [default: NULL]
"salt" tinyblob [default: NULL]
"token" varchar(255) [default: NULL]
}
Table "event" {
"id" INT(10) [pk]
"name" VARCHAR(20)
"priority" TINYINT(2)
"is_full_day" BIT
"start" TIME
"end" TIME
Table "user_event" {
"date" date [not null, default: `curdate()`]
"event_id" bigint(20) [not null]
"user_id" bigint(20) [not null]
Indexes {
event_id [name: "FKspe8srtv69gubpphvrnd7wekt"]
user_id [name: "FKk3smcqwou8absq8qjt3wk4vy9"]
(date, event_id, user_id) [pk]
}
}
Table "event_list" {
"id" INT(10) [pk]
"user_id" NT(10)
"event_id" NT(10)
"date" date
}
Ref:"event"."id" < "user_event"."event_id"
Ref:"event_list"."user_id" < "user"."id"
Ref:"event_list"."event_id" < "event"."id"
Ref:"user"."id" < "user_event"."user_id"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

View File

@@ -0,0 +1,113 @@
# API Reference
The vpr Api ist created around REST. Our Api has several different endpoint, that are URL based and accept standard form-encoded request bodies.
It returns JSON-encoded responses and uses standard HTTP response codes.
---
## The Endpoints at "/vpr/"
GET:
- /all-users
POST:
- /all-events
- /add-user
- /add-event
- /del-event
---
## Status-codes dan HTTP-responses
| STATUS | meaning |
| --- | --- |
| 200 | OK. The Request was successful |
| 400 | Bad request. Check if you send all parameter |
| 404 | endpoint not found. The Url might contain a spelling mistake |
| 405 | Request-Method not allowed. Check if the endpoint requires an GET or POST request |
| 500 | Internal Server error. The request failed due to an exception at the server, the Request-parameter might be in a wrong format, or the database might be unreachable |
---
## /all-users
Request (GET):
curl localhost:8080/vpr/all-users | python3 -m json.tool
Response:
[
[
userId: int,
forename: string,
name: string
]
]
---
## /all-events
Request (POST):
curl localhost:8080/vpr/all-events -X POST -d "userId=<int>"
Response:
[
[
eventId: int,
name: string,
start: string,
priority: int,
isFullDay: boolean,
date: string,
userId: int,
forename: string,
name: string
]
]
---
## /add-user
Request (POST):
curl localhost:8080/vpr/add-user -X POST -d "name=<string>&forename=<string>&password=<string>&isAdmin=<boolean>"
Response:
status 200 if request is ok
And String "Saved"
---
## /add-event
Request (POST):
curl localhost:8080/vpr/add-event -X POST -d "userId=<String>&date=<String>&name=<String>&start=<String>&end=<String>&prority=<int>&isFullDay=<boolean>&isPrivate=<boolean>"
Response:
status 200 if request is ok
And String "Saved"
---
## /del-event
Request (POST):
curl localhost:8080/vpr/del-event -X POST -d "eventId=<int>"
Response:
status 200 if request is ok
And String "Deleted"

View File

@@ -0,0 +1,216 @@
{
"info": {
"_postman_id": "d73d7eb9-ee3c-4fb4-af6f-baeba6db7f78",
"name": "VPR Collection",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "User",
"item": [
{
"name": "add user",
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "http://localhost:8080/user/add?name=Alex&forename=Rechtin&password=pw&isAdmin=true&login=alex",
"protocol": "http",
"host": [
"localhost"
],
"port": "8080",
"path": [
"user",
"add"
],
"query": [
{
"key": "name",
"value": "Alex"
},
{
"key": "forename",
"value": "Rechtin"
},
{
"key": "password",
"value": "pw"
},
{
"key": "isAdmin",
"value": "true"
},
{
"key": "login",
"value": "alex"
}
]
}
},
"response": []
},
{
"name": "login",
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "http://localhost:8080/user/add?name=Alex&forename=Rechtin&password=pw&isAdmin=true&login=alex",
"protocol": "http",
"host": [
"localhost"
],
"port": "8080",
"path": [
"user",
"add"
],
"query": [
{
"key": "name",
"value": "Alex"
},
{
"key": "forename",
"value": "Rechtin"
},
{
"key": "password",
"value": "pw"
},
{
"key": "isAdmin",
"value": "true"
},
{
"key": "login",
"value": "alex"
}
]
}
},
"response": []
},
{
"name": "delete user",
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "http://localhost:8080/user/del?userId=1",
"protocol": "http",
"host": [
"localhost"
],
"port": "8080",
"path": [
"user",
"del"
],
"query": [
{
"key": "userId",
"value": "1"
}
]
}
},
"response": []
},
{
"name": "all user",
"request": {
"method": "GET",
"header": [],
"url": null
},
"response": []
}
]
},
{
"name": "Event",
"item": [
{
"name": "add event",
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "localhost:8080/event/add?userId=1&date=2021-12-24&name=TestEvent&start=&end=&prority=1&isFullDay=true&isPrivate=true",
"host": [
"localhost"
],
"port": "8080",
"path": [
"event",
"add"
],
"query": [
{
"key": "userId",
"value": "1"
},
{
"key": "date",
"value": "2021-12-24"
},
{
"key": "name",
"value": "TestEvent"
},
{
"key": "start",
"value": ""
},
{
"key": "end",
"value": ""
},
{
"key": "prority",
"value": "1"
},
{
"key": "isFullDay",
"value": "true"
},
{
"key": "isPrivate",
"value": "true"
}
]
}
},
"response": []
}
]
},
{
"name": "Other",
"item": [
{
"name": "status test",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "http://localhost:8080/vpr/status-test",
"protocol": "http",
"host": [
"localhost"
],
"port": "8080",
"path": [
"vpr",
"status-test"
]
}
},
"response": []
}
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -1,13 +1,46 @@
# Formatting
# 1 Formatting
## 1.1 General
Maximal 80-100 letters in one line
We use the default build in Formatter from 'IntelliJ IDEA' (Ctr+Alt+L)
## 1.2 Brackets
Brackets will be used like this:
public void example() {
}
## 1.3 Arrays
String[] array = new String[]{"1", "2", "3", "4"}
or
String[] array = new String[]{
"1",
"2",
"3",
"4"
}
# 2 Naming
## 2.1 General
Names should only include ASCII letters and digits and should never begin with a digit.
Names should only include ASCII letters and digits. They should never begin with a digit.
All names should _ALWAYS_ be in english.
## 2.2 Class names
Class names are written in UpperCamelCase
Class names are written in UpperCamelCase.
## 2.3 Method names
Class names are written in lowerCamelCase.
They are often verbs describing the function of the method.
Method names are written in lowerCamelCase.
They are often verbs describing the function of the method e.g. _startProcess_ or _log_.
##
## 2.4 Constant names
Constant names are written in UPPER_CASE.
## 2.5 Variable names
Variable names are written in lowerCamelCase.
The names should _ALWAYS_ be words that are descriptive.
## 2.6 File names
File names are written in lowerCameCase.

View File

@@ -0,0 +1,32 @@
# Eingabe eines Termins
Beim Anlegen eines Termins wird die Eingabe geprüft.
Folgende Regeln müssen zutreffen:
- Der Name muss mindestens 3 Zeichen haben.
- Er darf nur folgende Zeichen enthalten: __[A-Za-zÄÖÜäöü0-9 =!?+*/$%€.:,;_<>()-]__
- Das Datum muss valide sein
- Das Datum muss das Format MM/TT/JJJJ haben
- Das Datum darf nicht in der Vergangenheit liegen
<br/><br/>
## Äquivalenzklassen:
ID | Beschreibung | Eingabe | Erwartetes Ergebniss
---|---|---|---
0 | Name < 3 | le | Fehler
1 | Name > 3, verbotenes Zeichen |Einkaufen\ | Fehler
2 | Datum falsches Format | 20/12/2021 | Fehler
3 | Datum in Vergangenheit | 12/20/2021 | Fehler
4 | Datum nicht valide | 02/31/2021 | Fehler
5 | Name > 3, kein verbotenes Zeichen, Datum richtiges Format, Datum nicht in der Vergangenheit, Datum Valide | Einkaufen!, 12/23/2021 | Erfolg
<br/><br/>
## Grenzfälle:
ID | Beschreibung | Eingabe | Erwartetes Ergebniss
---|---|---|---
0 | Name == 3 | SEN | Erfolg
1 | Datum == Heute | 12/20/2021 | Erfolg

BIN
Docs/src/colorTemplate.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
Docs/src/colorTemplate2.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

BIN
Docs/src/palette.pdf Normal file

Binary file not shown.

26
Docs/testcases.md Normal file
View File

@@ -0,0 +1,26 @@
# Testfälle
</br>
## 1. Termin anlegen
</br>
__Zweck:__
&nbsp;&nbsp;&nbsp;&nbsp; Testet Fehlerhafte Eingaben
__Vorbereitung:__
&nbsp;&nbsp;&nbsp;&nbsp; Login mit Username: "testUser" und Passwort "pw"
__Aufräumarbeiten:__
&nbsp;&nbsp;&nbsp;&nbsp; Keine
__Hinweis:__
&nbsp;&nbsp;&nbsp;&nbsp; Um einen Termin zu erstellen muss man den ersten Button der linken Navigationsleiste klicken
</br>
</br>
## 1.1 Testsequenz: Fehlerhafte Eingabe
ID | Eingabe | Erwartetes Ergebniss | Befund
--- | --- | --- | ---
1.1.1 | Keine Eingabe | Fehlermeldung: "Der Name muss eine Länge von 3 haben" | _befund eintragen_
1.1.2 | Name: "Test\Termin" | Fehlermeldung: "Der Name Darf nur aus Zahlen, Buchstaben </br> und folgenden Sonderzeichen bestehen: =!?+*/$%€.:,;_ <>()-“" | _befund eintragen_
1.1.3 | Name: "TestTermin" | Fehlermeldung: "Bitte eine Priorität wählen." | _befund eintragen_
1.1.4 | Name: "Test Termin" </br> Priorität: "gering" | Fehlermeldung: "Das Datum muss in der Zukunft liegen." | _befund eintragen_
1.1.5 | Name: "Test Termin" </br> Priorität: "gering" </br> Datum"02-10-1996" | Fehlermeldung: "Das Datum muss in der Zukunft liegen." |_befund eintragen_

23
Docs/ui guide.md Normal file
View File

@@ -0,0 +1,23 @@
# 01 Typographie
## Font: Segoe UI
### Header 1
Font size: 35
Font Weight: Bold
### Header 2
Font size: 30
Font Weight: Regular
### Text
Font size: 25
Font Weight: Regular
# 02 Colors
![colorTemplate](src/colorTemplate.PNG)
![colorTemplate](src/colorTemplate2.PNG)