228b723773
toc depth set to 4
244 lines
4.1 KiB
ReStructuredText
244 lines
4.1 KiB
ReStructuredText
Journal
|
|
#######
|
|
|
|
2021-05-31 AG Dev - Kompentenzinventar
|
|
======================================
|
|
backend repository aufgesetzt
|
|
https://git.wtf-eg.de/kompetenzinventar/ki-backend.git
|
|
|
|
Fürs Backend soll flask eingesetzt werden.
|
|
|
|
Für Datenmodell siehe #3.
|
|
|
|
Authentifizierung
|
|
*****************
|
|
|
|
HTTP Bearer Token. Wird vom Backend verwaltet. Es gibt eine konfigurierbare, maximale Gültigkeit für einen Token.
|
|
|
|
Allgemeine Antworten:
|
|
|
|
* 401: Anfrage ohne Token
|
|
* 403: Token abgelaufen oder ungültig
|
|
|
|
Authorisierung
|
|
**************
|
|
|
|
* Zugriff nur mit Login
|
|
* Jeder eingloggte Benutzer darf alles sehen
|
|
* Ein Benutzer darf nur sein eigenes Profil bearbeiten
|
|
|
|
Endpunkte
|
|
*****************
|
|
|
|
POST `/users/login`
|
|
-------------------
|
|
|
|
Hiermit kann sich ein Benutzer anmelden. Der Endpunkt authentifiziert gegen LDAP.
|
|
|
|
Anfrage:
|
|
|
|
.. code-block:: text
|
|
:linenos:
|
|
|
|
{
|
|
"username": "peter",
|
|
"password": "asdasd"
|
|
}
|
|
|
|
Antwort:
|
|
**Status 200**
|
|
|
|
Login hat geklappt
|
|
|
|
|
|
.. code-block:: json
|
|
|
|
{
|
|
"token": "aSDASDADASDASD"
|
|
}
|
|
|
|
**Status 403**
|
|
|
|
Login hat nicht geklappt. Grund ist Benutzer existiert nicht oder Passwort war falsch. Kein weiterer Text über die API wegen Sicherheit.
|
|
|
|
DELETE `/users/login`
|
|
---------------------
|
|
|
|
Markiert den zur Request Authentifizierung verwendeten Token als nicht mehr gültig.
|
|
|
|
POST `/users/profile`
|
|
---------------------
|
|
|
|
Speichert ein Profil ab. Übertragene Daten entsprechen #3 im JSON Format.
|
|
|
|
Anfrage:
|
|
|
|
.. code-block:: json
|
|
|
|
{
|
|
"profile": {}
|
|
}
|
|
|
|
|
|
Antwort:
|
|
|
|
**Status 200**
|
|
|
|
Gespeichert, ok
|
|
|
|
**Status 400**
|
|
|
|
Validierung fehlgeschlagen
|
|
|
|
.. code-block:: json
|
|
|
|
{
|
|
"messages": {
|
|
"nickname": "Bitte ausfüllen"
|
|
}
|
|
}
|
|
|
|
|
|
GET `/users/{id}/profile`
|
|
-------------------------
|
|
|
|
Endpunkt um ein Profil gezielt nach ID abzurufen.
|
|
|
|
Antwort:
|
|
|
|
|
|
**Status 200**
|
|
|
|
Profil gefunden
|
|
|
|
.. code-block:: json
|
|
|
|
{
|
|
"profile": {}
|
|
}
|
|
|
|
GET `/users/profiles`
|
|
-------------------------
|
|
|
|
Suche nach Profilen mit Query-Parametern:
|
|
|
|
* `skill[]=PHP`
|
|
* `page=1` für die Paginierung
|
|
* `page_size=20` Einträge pro Seite
|
|
|
|
(Liste wird erweitert).
|
|
|
|
Antwort:
|
|
|
|
.. code-block:: json
|
|
|
|
{
|
|
"total": 23,
|
|
"profiles": []
|
|
}
|
|
|
|
* `total` Gesamtanzahl der passenden Profile
|
|
* `profils` Liste mit Profilen
|
|
|
|
GET `/skills`
|
|
-------------------------
|
|
|
|
Hier können die auswählbaren Fähigkeiten inkl. Autovervollständigung abgerufen werden sowie "Ich Suche".
|
|
|
|
* `search=an`
|
|
* Es werden 10 Einträge zurückgegeben
|
|
|
|
Antwort:
|
|
|
|
.. code-block:: json
|
|
|
|
{
|
|
"skills": [
|
|
{
|
|
"id": 23,
|
|
"name": "Angular"
|
|
},
|
|
{
|
|
"id": 42,
|
|
"name": "Anforderungs-Management"
|
|
}
|
|
]
|
|
}
|
|
|
|
|
|
GET `/skills/{id}/icon`
|
|
-----------------------
|
|
|
|
Icon einer Fähigkeit (weils gut ausschaut).
|
|
|
|
GET `/languages`
|
|
----------------
|
|
|
|
Abruf der Sprachen.
|
|
|
|
* `search=fra`
|
|
* Es werden 10 Einträge zurückgegeben
|
|
|
|
Antwort:
|
|
|
|
.. code-block:: json
|
|
|
|
{
|
|
"languages": [
|
|
{
|
|
"id": 23,
|
|
"name": "Französisch"
|
|
}
|
|
]
|
|
}
|
|
|
|
|
|
GET `/languages/{id}/icon`
|
|
--------------------------
|
|
|
|
Icon einer Sprache (weils gut ausschaut).
|
|
|
|
|
|
2021-05-28 KI Onboarding Planung
|
|
================================
|
|
scammos wireframes vom Frontend
|
|
|
|
:download:`pdf <Kompetenz Inventar Konzepte.pdf>`
|
|
|
|
weeman brachte den Link ein: https://it.notchdelta.com/fragen#/was-suchst-du
|
|
|
|
zu erfassende Daten
|
|
*******************
|
|
|
|
- Nickname
|
|
- Pronomen
|
|
- Wohnort
|
|
- Ehrenämter (Freitext)
|
|
- Email für Gravatar Bild
|
|
- Freitext
|
|
- Kenntnisse inkl. 1 - 3 Sternen, z.B. PHP `***`
|
|
- Qualifikationen, z.B. Studium, Ausbildung oder Zertifikate
|
|
- “Ich suche”, z.B. “Software Entwicklung”, “Projekt-Management”, Vollzeit, Teilzeit, stundenweise
|
|
- Einsatzort (vor Ort und oder Remote)
|
|
- Sprache
|
|
- Auflistung bisheriger Projekte
|
|
- Titel
|
|
- Link
|
|
- Freitext
|
|
- Kontaktmöglichleiten
|
|
|
|
- E-Mail
|
|
- Matrix
|
|
- GSM
|
|
- Freitext
|
|
|
|
Techstack
|
|
*********
|
|
|
|
- Frontend vue.js
|
|
- Python für Restfull/json $framework
|
|
- Datenbank: Production: Postgres; Development: SQLlite
|
|
|
|
- separate Repositories für Front- und Backend
|
|
- ki-doku repository ist für Dokumentation und Verwaltung der Issues
|