add Technical-Handout.md

Schnitzel 2025-06-17 14:28:20 +02:00
parent 08501699cb
commit eaac961a46
3 changed files with 42 additions and 0 deletions

1
.gitignore vendored Normal file

@ -0,0 +1 @@
.vscode

3
.vscode/settings.json vendored Normal file

@ -0,0 +1,3 @@
{
"cSpell.language": "en,de-DE,en-GB"
}

38
Technical-Handout.md Normal file

@ -0,0 +1,38 @@
# Technical Handout API description
## Introduction
PGG is a software developed to manage, Tracks and help Teachers to Grade their Peer Groups. In this Technical Handout we will describe how the api is handling the requests from the WebUI.
## Why do we want to implement API's?
The API's are crucial for the septation of concern as well as for the modularity.
If you use API you are more likely to be able to switch between multiple different Frontends or the other way around multiple
backends for one Frontend. Their are multiple design patterns thad explain API's and use them like MVC or MVVM.
We did use them becaus the project is not large enough to uses one of the design patterns effective.
## Who is the user?
The user are Teachers from the schools thad have manny Peer Groups to grade.
## What user pains are we solving and/or what gains are we creating for the user?
the api solves the need of clear label groups linked to user's linked to projects all this is secured by a password. The goal of the project is to make the entire grading process accessible and secure through the API.
## What concrete outcomes do we want to achieve with these APIs?
the apis make a modular and save way to aces the data in the database for different frontends.
## How do we plan to execute the API program to achieve that?
we are executing the a staticky linked binary of the Program.
## What is the architectural style and why have you chosen it (REST, SOAP, GraphQL, …)?"
The program provides a REST API thad get used across the world and is Battle tested. Thad is also the way there is a huge amount of documentation.
## Summary or Conclusion
over all is the application is a staticky linked rust project with a REST API. The goal of the api is to provide a esy way for all teacher to get all informations over the groups with there feedback to the group work and the grades.
<!-- ## Reverences -->