Dienste: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Dietsch (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(41 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{TOCRight}}
{{TOCRight}}
[[File:sopra-services.png|thumb|140px|left|link=https://services.sopranium.de|[https://services.sopranium.de services.sopranium.de]]]
[[File:sopra-services.png|thumb|140px|left|link=https://services.sopranium.de|[https://services.sopranium.de services.sopranium.de]]]
[[File:keycloak_logo.svg|thumb|140px|left|link=https://sso.sopranium.de|[https://sso.sopranium.de sso.sopranium.de]]]
Nach der Gruppeneinteilung erhalten Sie von unseren Diensten eine Reihe von Mails. In der Mail von ''SoPra Accounts'' finden Sie einen Link zur Aktualisierung Ihres Accounts auf [https://sso.sopranium.de sso.sopranium.de]. Nachdem Sie Ihren Account eingerichtet haben können Sie alle aktuell verfügbaren Dienste über [https://services.sopranium.de services.sopranium.de] erreichen.


Manche von diesen Diensten müssen Sie bei der Erstbenutzung kurz konfigurieren. Diese Konfiguration wird in diesem Artikel beschrieben. Außerdem gibt es hier eine Kurzübersicht über alle aktuell verfügbaren Dienste.  
Das Softwarepraktikum soll eine realitätsnahe Entwicklungsumgebung simulieren, und stellt dafür eine Reihe von Services zur Verfügung, die für die Softwareentwicklung im Team nützlich sind und auch in einem Open-Source oder Unternehmensprojekt zum Einsatz kommen könnten.


Sollten Sie Probleme bei der Benutzung der Dienste haben, kontaktieren Sie uns bitte via [mailto:sopra-crew@informatik.uni-freiburg.de sopra-crew@informatik.uni-freiburg.de].
Sämtliche zur Verfügung gestellten Dienste sind zur einfachen Übersicht über die Seite [https://services.sopranium.de services.sopranium.de] erreichbar. Nach der Gruppeneinteilung erhalten Sie eine E-Mail, die zur [[Dienste#Erstbenutzung|Einrichtung]] ihres Accounts auffordert. Sollten Sie Probleme bei der Benutzung der Dienste haben, kontaktieren Sie uns bitte via [mailto:sopra-crew@informatik.uni-freiburg.de sopra-crew@informatik.uni-freiburg.de]. Melden Sie sich bitte auch, falls Sie bereits einen Account bei uns gehabt haben und beide Accounts zusammenführen wollen. Falls Sie im Fragebogen die gleichen E-Mail-Adressen verwendet haben ist dies bereits automatisch passiert.


Melden Sie sich bitte auch falls Sie bereits einen Account bei uns gehabt haben und beide Accounts zusammenführen wollen. Falls Sie die gleichen E-Mailadressen verwendet haben ist dies bereits automatisch passiert.


<br clear="all" />
==Dienste==
==Erstbenutzung==
Die folgende Tabelle gibt einen Überblick über alle Dienste, die im Softwarepraktikum zur Verfügung gestellt werden, und deren Nutzen.
=== Sopra Accounts (Keycloak) ===
{| class="wikitable"
<gallery widths=300>
|+
File:First_login_01.png|Aufforderung zur Passwortaktualisierung.
!Dienst
File:First_login_02.png|Eingabemaske für ein neues Passwort.
!Beschreibung
File:First_login_03.png|Erfolgsmeldung. Sie können dieses Fenster nun schließen und zu [https://services.sopranium.de services.sopranium.de] wechseln.  
!Was ist der Nutzen?
</gallery>
|-
| colspan="3" |'''Entwicklung'''
|-
| style="text-align:center;" |[[File:gitea_logo.png|80px|link=https://git.sopranium.de|alternativtext=|zentriert]]Gitea
[https://git.sopranium.de git.sopranium.de]
|[[Gitea]] erweitert Git-Repositories um ein Webinterface und Funktionen zur einfacheren Zusammenarbeit wie z.B. einen Issuetracker.
 


Der Link zur Aktualisierung Ihres Accounts aus der Mail von ''SoPra Accounts'' führt Sie in mit den oben stehenden drei Schritten durch die Accounteinrichtung. Sie müssen nur ein Passwort vergeben. Ihre Email-Adresse und ihr Name wurde aus dem Fragebogen zur Gruppeneinteilung übernommen.
''Hinweis: Bitte wählen Sie bei der Anmeldung "Sign In" > "Sign In With OpenID". (NICHT den Reiter "OpenID" verwenden)''
|Im Softwarepraktikum werden alle Gruppe und Gruppenrepositories von einer Gitea-Instanz verwaltet. Folgende Funktionen sind hier zu finden:


===Discourse===
* Das Gruppenrepository und die [[Gitea#Weitere Funktionen|URL um das Repository zu Klonen]]
[[File:First_login_discourse_01.png|thumb|300px|left|Discourse's Eingabemaske zur Bestätigung der übermittelten Daten. Sie können hier einfach "Neues Benutzerkonto erstellen" drücken.]]
* Der Issuetracker um die Gruppenaufgaben zu verwalten
* Eine Anzeige, ob der letzte Commit per Jenkins gebaut werden konnte
* Die Liste der bisher erfolgten Releases.
|-
| style="text-align:center;" |[[Datei:Jenkins.png|80px|link=https://jenkins.sopranium.de|alternativtext=|zentriert]]Jenkins
[https://jenkins.sopranium.de jenkins.sopranium.de]
|[https://www.jenkins.io/ Jenkins] ist ein Open-Source Werkzeug zur kontinuierlichen Integration d.h. um automatisch jede neue Änderung an einer Software zu kompilieren, Tests und statische Analysen auszuführen, usw.
|Im Softwarepraktikum kompiliert Jenkins jeden Commit, der in das Gruppenrepository gepusht wird. Dies erlaubt es jedem festzustellen, ob die Änderungen zufällig nur auf dem lokalen System kompilierbar waren (z.B. wegen temporärer oder nicht hinzugefügten Dateien), was alle Teammitglieder aufhalten würde bis der Fehler behoben wird. Die Fehlermeldungen und der Bauvorgang lassen sich auf [https://jenkins.sopranium.de jenkins.sopranium.de] einsehen.


Beim ersten Login zeigt Ihnen Discourse eine Eingabemaske in der die von Keycloak übermittelten Daten noch einmal angegeben sind. Sie können hier einfach auf "Neues Benutzerkonto erstellen" drücken.
Außerdem erzeugt Jenkins bei Commits auf dem <code>release</code> Branch ein Release in Gitea.
<br clear="all" />
|-
| style="text-align:center;" |[[Datei:SonarQube icon 256 px.png|80px|link=https://sonar.sopranium.de|alternativtext=|zentriert]]Sonar
[https://sonar.sopranium.de sonar.sopranium.de]
|[https://en.wikipedia.org/wiki/SonarQube Sonar Cube] analysiert Programmcode eines Projekts und weist auf problematische Stellen hin, d.h. Stellen die [[Coding Conventions]] verletzen, oder bekannten Problemmustern entsprechen, z.B. mehrmals vorkommende Codestellen (Duplikate) oder Konstrukte die häufig zu Fehlern führen.


===Gitea===
[[File:Gitea_signin.png|thumb|300px|left|Einloggen bei Gitea mit Keycloak]]
Falls Sie Gitea nicht über [https://services.sopranium.de services.sopranium.de] sondern direkt über [https://git.sopranium.de git.sopranium.de] aufrufen, könnten Sie dieser Login-Maske begegnen. Verwenden Sie hier den Tab "Sign In" und klicken Sie dann unten auf "Sign In With OpenID" um die Authentifizerung via Keycloak zu benutzen.


<br clear="all" />
''Hinweis: Bitte wählen Sie bei der Anmeldung "Log in with Keycloak".''
|Im Softwarepraktikum wird bei jedem Commit der Code mit Sonar analysiert:


==Dienste==
* Die Analysen von Sonar zeigen verbesserungswürdige Stellen im Programmcode. Gerade die als ''Bugs'' oder ''Code Smells'' markierten Meldungen können auf Fehler oder leicht verbesserbaren Code hinweisen. Mehr Informationen zu der Bedeutung der einzelnen Metriken finden sie [https://docs.sonarqube.org/latest/user-guide/metric-definitions/ hier].
===Discourse===
*Mit dem Tag "Resharper" versehene Meldungen entsprechen der Analyse von Resharper und werden für die Beurteilung der [[Anforderungen#Randbedingungen|Randbedingungen]] verwendet.
[[File:discourse_logo.png|100px|left|link=https://discourse.sopranium.de]]


[https://discourse.sopranium.de Discourse] ist eine Open-Source Diskussions-Plattform, deren Funktionalität an Seiten wie [https://stackoverflow.com/ Stackoverflow] oder auch das [https://community.monogame.net/ Monogame-Forum] angelehnt ist.
Sonar sollte zu den ersten Anlaufstellen gehören, wenn Sie die Codequalität ihres Projekts verbessern wollen.
|-
| style="text-align:center;" |[[Datei:GitinspectorIcon.png|80px|zentriert|link=https://inspector.sopranium.de]]GitInspector [https://inspector.sopranium.de/ inspector.sopranium.de/]
|[https://github.com/ejwa/gitinspector GitInspector] ist ein statistisches Analysewerkzeug für Git, mit dem Sie die Beiträge zu ihrem Projekt aufschlüsseln können.
|GitInspector analysiert ihr Repository und zeigt ihnen, wer aus ihrer Gruppe welche Teile des Projektes bearbeitet und wie groß diese sind. Dies erlaubt ihnen früh festzustellen, ob die Arbeitsverteilung im Team unbalanciert ist, und dadurch rechtzeitig gegenzusteuern.  


Hier haben Sie die Möglichkeit öffentlich Fragen an Dozenten, Tutoren und Kommilitonen zu stellen, und natürlich auch zu beantworten.
'''Wichtig''': Unsere GitInspector-Instanz beachtet nur <code>.cs</code> und <code>.fs</code> Dateien die zu ihrer Solution gehören. Insbesondere werden Commits die nur Assets o.ä. beinhalten nicht gezählt.
<br clear="all" />
|-
Was hier hin gehört:
| colspan="3" |'''Kommunikation'''
|-
| style="text-align:center;" |[[File:discourse_logo.png|80px|link=https://discourse.sopranium.de|alternativtext=|zentriert]]Discourse
[https://discourse.sopranium.de discourse.sopranium.de]
|[https://discourse.sopranium.de Discourse] ist eine Open-Source Diskussions-Plattform, deren Funktionalität an Seiten wie [https://stackoverflow.com/ Stackoverflow] oder auch dem [https://community.monogame.net/ Monogame-Forum] angelehnt ist.


Genaueres über die Features finden Sie unter [https://www.discourse.org/features Discourse] oder einfach direkt auf der Seite.
| Hier haben Sie die Möglichkeit öffentlich Fragen an Dozenten, Tutoren und Kommilitonen zu stellen, und natürlich auch zu beantworten:
*Technische Fragen zur Entwicklungsumgebung
*Technische Fragen zur Entwicklungsumgebung
*Fragen zum Ablauf
* Fragen zum Ablauf
*Fragen zu Formalien und Benotung
* Fragen zu Formalien und Benotung
*Fragen zu Monogame und C#
* Fragen zu Monogame und C#


Was hier nicht hin gehört:
Für Fragen und persönliche Probleme (z.B. HisInOne, Prüfungsamt) sowie Probleme oder Streit mit Tutoren oder anderen Studierenden kontaktieren Sie bitte direkt die Dozenten, am besten im Mattermost.
|-
| style="text-align:center;" |[[File:mattermost_logo.png|80px|link=https://chat.sopranium.de|alternativtext=|zentriert|MML]]Mattermost
[https://chat.sopranium.de chat.sopranium.de]
| Mattermost ist eine Open-Source Chat-Plattform die in ihrer Funktionalität an Chatprogramme wie z.B. [https://discord.com/ Discord] oder [https://slack.com Slack] erinnert. Hier steht Ihnen als Gruppe neben den öffentlichen Chaträumen auch ein eigener Chatraum zur Verfügung.


*Fragen zu persönlichen Problemen (z.B. HisInOne, Prüfungsamt)
Mattermost bietet alle Features, die man von derartigen Programmen erwartet, insbesondere auch Android oder iOS Apps.
*Probleme oder Streit mit Tutoren oder anderen Studierenden


Genaueres über die Features finden Sie unter [https://www.discourse.org/features Discourse] oder einfach direkt auf der Seite.


===Chat===
''Hinweis: Bitte wählen Sie bei der Anmeldung "meld dich an mit GitLab".''
[[File:mattermost_logo.png|100px|left|link=https://chat.sopranium.de]]
|Wir verwenden [https://mattermost.com Mattermost] als Chat-Plattform.


Wir verwenden [https://mattermost.com Mattermost] als Chat-Plattform. Mattermost ist eine Open-Source Chat-Plattform die in ihrer Funktionalität an Chatprogramme wie z.B. [https://discord.com/ Discord] oder [https://slack.com Slack] erinnert. Hier steht Ihnen als Gruppe neben den öffentlichen Chaträumen auch ein eigener Chatraum zur Verfügung.
*Mattermost eignet sich insbesondere, um während dem Entwickeln miteinander zu sprechen und Probleme schnell zu klären.
*Schnell Kontakt mit den Dozenten, Teammitgliedern oder dem Tutor aufzunehmen, z.B. um während der Sprechstunde einen Videochat zu vereinbaren oder um einfach und unkompliziert eine Frage zu stellen.
|-
| colspan="3" |'''Organisation'''
|-
| style="text-align:center;" |[[File:grafana_logo.png|80px|link=https://grafana.sopranium.de|alternativtext=|zentriert]]Dashboard
[https://grafana.sopranium.de grafana.sopranium.de]
|Das Dashboard aggregiert nützliche Metriken über das Softwarepraktikum.


Dies eignet sich insbesondere um während dem Entwickeln miteinander zu sprechen und Probleme schnell zu klären.  
Das Dashboard ist mit [https://grafana.com Grafana] realisiert und wird im Moment nur täglich aktualisiert. Zu Beginn des Softwarepraktikums sehen Sie dort noch keine Daten, da diese erst im Laufe der Zeit anfallen.
|Das Dashboard zeigt Statistiken über ihre Arbeit im Softwarepraktikum:
* Bereits erreichte Punkte aus den Sprints
* Verbuchte geschätzte, und verbuchte gearbeitete Zeit
* Anonymisierte Ranglisten über alle Softwarepraktikumsteilnehmer
|-
| style="text-align:center;" |[[File:keycloak_logo.svg|80px|link=https://sso.sopranium.de|alternativtext=|zentriert|


Mattermost bietet alle Features, die man von derartigen Programmen erwartet, insbesondere auch Android oder iOS Apps.  
A]]Keycloak
<br clear="all" />
[https://sso.sopranium.de/auth/realms/sopra/account Keycloak]
|Wir verwenden zur zentralen Benutzerverwaltung Keycloak. Unter diesem Link können Sie auf Ihre Accountdaten zugreifen und z.B. ihr Passwort ändern oder 2FA (2-Faktor-Authentifizierung) aktivieren.
| Keycloak sorgt für einen einheitlichen Login auf allen Diensten. Auf der Keycloak Seite kann das Passwort und die E-Mail-Adresse für Keycloak geändert werden (dies ändert nicht die E-Mail-Adresse, die in den einzelnen Services eingetragen ist).
|}


===Gitea ===
==Erstbenutzung ==
[[File:gitea_logo.png|100px|left|link=https://git.sopranium.de]]
Nach der Gruppeneinteilung erhalten Sie von unseren Diensten eine Reihe von Mails. In der Mail von ''SoPra Accounts'' finden Sie einen Link zur Aktualisierung Ihres Accounts auf [https://sso.sopranium.de/auth/realms/sopra/account Keycloak]. Nachdem Sie Ihren Account eingerichtet haben können Sie alle aktuell verfügbaren Dienste über [https://services.sopranium.de services.sopranium.de] erreichen.
Siehe [[Gitea]].
<br clear="all" />


===Account===
Manche von diesen Diensten müssen Sie bei der Erstbenutzung kurz konfigurieren. Diese Konfiguration wird in diesem Artikel beschrieben. Außerdem gibt es hier eine Kurzübersicht über alle aktuell verfügbaren Dienste.
[[File:keycloak_logo.svg|100px|left|link=https://sso.sopranium.de]]
=== Accounts (Keycloak) ===
Wir verwenden zur zentralen Authentifizierung Keycloak. Unter diesem Link können Sie auf Ihre Accountdaten zugreifen und z.B. Ihr Passwort ändern oder 2FA (2-Faktor-Authentifizierung) aktivieren.  
<gallery widths="300">
File:First_login_01.png|Aufforderung zur Passwortaktualisierung.
File:First_login_02.png|Eingabemaske für ein neues Passwort.
File:First_login_03.png|Erfolgsmeldung. Sie können dieses Fenster nun schließen und zu [https://services.sopranium.de services.sopranium.de] wechseln.
</gallery>


<br clear="all" />
Zu Beginn des Softwarepraktikums erhalten Sie eine Mail, in der Sie zur Aktualisierung Ihres Useraccounts aufgefordert werden. Folgen Sie dem Link und führen Sie gemäß den oben stehenden drei Schritten die Accounteinrichtung durch. Da ihre E-Mail-Adresse und ihr Username bereits aus den Fragebogendaten entnommen wurde, müssen Sie lediglich ein Passwort für Ihren Account setzen.


===Dashboard===
===Gitea===
[[File:grafana_logo.png|100px|left|link=https://grafana.sopranium.de]]
[[File:Gitea_signin.png|thumb|300px|left|Einloggen bei Gitea mit Keycloak]]
Auf Ihrem Dashboard finden Sie nützliche Metriken, die Ihnen dabei helfen können einen Überblick über bereits gearbeitete Zeit und geschriebenen Code zu behalten.
Falls Sie Gitea nicht über [https://services.sopranium.de services.sopranium.de] sondern direkt über [https://git.sopranium.de git.sopranium.de] aufrufen, könnten Sie dieser Login-Maske begegnen. Verwenden Sie hier den Tab "Sign In" und klicken Sie dann unten auf "Sign In With OpenID" um die Authentifizierung via Keycloak zu benutzen.
Insbesondere wird hier auch die Anzahl bereits erreichter Punkte sowie die bisherige durchschnittlich geschätzte Zeit angezeigt.


Das Dashboard ist mit [https://grafana.com Grafana] realisiert und wird im Moment nur täglich aktualisiert. Zu Beginn des Softwarepraktikums sehen Sie dort noch keine Daten, da diese erst im Laufe der Zeit anfallen.
<br clear="all" />
<br clear="all" />


=== Jenkins ===
[[Datei:Jenkins.png|100px|left|link=https://jenkins.sopranium.de]]
Jenkins ist ein [https://en.wikipedia.org/wiki/Continuous_integration Continuous Integration] Dienst, der es erlaubt, Projekte automatisiert zu kompilieren und (im Softwarepraktikum auf dem <code>release</code>-Branch) ausführbare Dateien zu erstellen und zum Download anzubieten.
Jenkins versucht also bei jedem Push zum Git-Repository Ihr Projekt zu kompilieren und meldet sich, wenn das nicht funktioniert. Jenkins führt auch Resharper- und Sonar-Analysen für die Branches <code>master</code> und <code>release</code> aus.
<br clear="all" />


===Discourse ===
[[File:First_login_discourse_01.png|thumb|300px|left|Discourse's Eingabemaske zur Bestätigung der übermittelten Daten. Sie können hier einfach "Neues Benutzerkonto erstellen" drücken.]]


===Sonar===
Beim ersten Login zeigt Ihnen Discourse eine Eingabemaske in der die von Keycloak übermittelten Daten noch einmal angegeben sind. Sie können hier einfach auf "Neues Benutzerkonto erstellen" drücken.
[[Datei:SonarQube icon 256 px.png|100px|left|link=https://sonar.sopranium.de]]
Sonar ist ein automatisiertes Codeanalysewerkzeug, das Bugs, Sicherheitslücken und sogar Probleme im Cleancode-Management erkennen kann.
Im Softwarepraktikum lassen sich hier außerdem mit dem Tag "Resharper" versehene Meldungen anzeigen, die mit den vorgesehenen Resharper Regeln übereinstimmen.
 
Mehr Informationen zu der Bedeutung der einzelnen Metriken finden Sie [https://docs.sonarqube.org/latest/user-guide/metric-definitions/ hier].
<br clear="all" />
 
===GitInspector===
[[Datei:GitinspectorIcon.png|100px|left|link=https://inspector.sopranium.de]]
[https://github.com/ejwa/gitinspector GitInspector] ist ein statistisches Analysewerkzeug für Git, mit dem Sie die Beiträge zu ihren Solutions aufschlüsseln können.
 
'''Wichtig''': Unsere GitInspector-Instanz beachtet nur <code>.cs</code> und <code>.fs</code> Dateien die zu ihrer Solution gehören. Insbesondere werden Commits die nur Assets o.ä. beinhalten nicht gezählt.
<br clear="all" />
<br clear="all" />

Aktuelle Version vom 21. Oktober 2024, 08:42 Uhr

services.sopranium.de

Das Softwarepraktikum soll eine realitätsnahe Entwicklungsumgebung simulieren, und stellt dafür eine Reihe von Services zur Verfügung, die für die Softwareentwicklung im Team nützlich sind und auch in einem Open-Source oder Unternehmensprojekt zum Einsatz kommen könnten.

Sämtliche zur Verfügung gestellten Dienste sind zur einfachen Übersicht über die Seite services.sopranium.de erreichbar. Nach der Gruppeneinteilung erhalten Sie eine E-Mail, die zur Einrichtung ihres Accounts auffordert. Sollten Sie Probleme bei der Benutzung der Dienste haben, kontaktieren Sie uns bitte via sopra-crew@informatik.uni-freiburg.de. Melden Sie sich bitte auch, falls Sie bereits einen Account bei uns gehabt haben und beide Accounts zusammenführen wollen. Falls Sie im Fragebogen die gleichen E-Mail-Adressen verwendet haben ist dies bereits automatisch passiert.


Dienste

Die folgende Tabelle gibt einen Überblick über alle Dienste, die im Softwarepraktikum zur Verfügung gestellt werden, und deren Nutzen.

Dienst Beschreibung Was ist der Nutzen?
Entwicklung
Gitea

git.sopranium.de

Gitea erweitert Git-Repositories um ein Webinterface und Funktionen zur einfacheren Zusammenarbeit wie z.B. einen Issuetracker.


Hinweis: Bitte wählen Sie bei der Anmeldung "Sign In" > "Sign In With OpenID". (NICHT den Reiter "OpenID" verwenden)

Im Softwarepraktikum werden alle Gruppe und Gruppenrepositories von einer Gitea-Instanz verwaltet. Folgende Funktionen sind hier zu finden:
  • Das Gruppenrepository und die URL um das Repository zu Klonen
  • Der Issuetracker um die Gruppenaufgaben zu verwalten
  • Eine Anzeige, ob der letzte Commit per Jenkins gebaut werden konnte
  • Die Liste der bisher erfolgten Releases.
Jenkins

jenkins.sopranium.de

Jenkins ist ein Open-Source Werkzeug zur kontinuierlichen Integration d.h. um automatisch jede neue Änderung an einer Software zu kompilieren, Tests und statische Analysen auszuführen, usw. Im Softwarepraktikum kompiliert Jenkins jeden Commit, der in das Gruppenrepository gepusht wird. Dies erlaubt es jedem festzustellen, ob die Änderungen zufällig nur auf dem lokalen System kompilierbar waren (z.B. wegen temporärer oder nicht hinzugefügten Dateien), was alle Teammitglieder aufhalten würde bis der Fehler behoben wird. Die Fehlermeldungen und der Bauvorgang lassen sich auf jenkins.sopranium.de einsehen.

Außerdem erzeugt Jenkins bei Commits auf dem release Branch ein Release in Gitea.

Sonar

sonar.sopranium.de

Sonar Cube analysiert Programmcode eines Projekts und weist auf problematische Stellen hin, d.h. Stellen die Coding Conventions verletzen, oder bekannten Problemmustern entsprechen, z.B. mehrmals vorkommende Codestellen (Duplikate) oder Konstrukte die häufig zu Fehlern führen.


Hinweis: Bitte wählen Sie bei der Anmeldung "Log in with Keycloak".

Im Softwarepraktikum wird bei jedem Commit der Code mit Sonar analysiert:
  • Die Analysen von Sonar zeigen verbesserungswürdige Stellen im Programmcode. Gerade die als Bugs oder Code Smells markierten Meldungen können auf Fehler oder leicht verbesserbaren Code hinweisen. Mehr Informationen zu der Bedeutung der einzelnen Metriken finden sie hier.
  • Mit dem Tag "Resharper" versehene Meldungen entsprechen der Analyse von Resharper und werden für die Beurteilung der Randbedingungen verwendet.

Sonar sollte zu den ersten Anlaufstellen gehören, wenn Sie die Codequalität ihres Projekts verbessern wollen.

GitInspector inspector.sopranium.de/
GitInspector ist ein statistisches Analysewerkzeug für Git, mit dem Sie die Beiträge zu ihrem Projekt aufschlüsseln können. GitInspector analysiert ihr Repository und zeigt ihnen, wer aus ihrer Gruppe welche Teile des Projektes bearbeitet und wie groß diese sind. Dies erlaubt ihnen früh festzustellen, ob die Arbeitsverteilung im Team unbalanciert ist, und dadurch rechtzeitig gegenzusteuern.

Wichtig: Unsere GitInspector-Instanz beachtet nur .cs und .fs Dateien die zu ihrer Solution gehören. Insbesondere werden Commits die nur Assets o.ä. beinhalten nicht gezählt.

Kommunikation
Discourse

discourse.sopranium.de

Discourse ist eine Open-Source Diskussions-Plattform, deren Funktionalität an Seiten wie Stackoverflow oder auch dem Monogame-Forum angelehnt ist.

Genaueres über die Features finden Sie unter Discourse oder einfach direkt auf der Seite.

Hier haben Sie die Möglichkeit öffentlich Fragen an Dozenten, Tutoren und Kommilitonen zu stellen, und natürlich auch zu beantworten:
  • Technische Fragen zur Entwicklungsumgebung
  • Fragen zum Ablauf
  • Fragen zu Formalien und Benotung
  • Fragen zu Monogame und C#

Für Fragen und persönliche Probleme (z.B. HisInOne, Prüfungsamt) sowie Probleme oder Streit mit Tutoren oder anderen Studierenden kontaktieren Sie bitte direkt die Dozenten, am besten im Mattermost.

MML
Mattermost

chat.sopranium.de

Mattermost ist eine Open-Source Chat-Plattform die in ihrer Funktionalität an Chatprogramme wie z.B. Discord oder Slack erinnert. Hier steht Ihnen als Gruppe neben den öffentlichen Chaträumen auch ein eigener Chatraum zur Verfügung.

Mattermost bietet alle Features, die man von derartigen Programmen erwartet, insbesondere auch Android oder iOS Apps.


Hinweis: Bitte wählen Sie bei der Anmeldung "meld dich an mit GitLab".

Wir verwenden Mattermost als Chat-Plattform.
  • Mattermost eignet sich insbesondere, um während dem Entwickeln miteinander zu sprechen und Probleme schnell zu klären.
  • Schnell Kontakt mit den Dozenten, Teammitgliedern oder dem Tutor aufzunehmen, z.B. um während der Sprechstunde einen Videochat zu vereinbaren oder um einfach und unkompliziert eine Frage zu stellen.
Organisation
Dashboard

grafana.sopranium.de

Das Dashboard aggregiert nützliche Metriken über das Softwarepraktikum.

Das Dashboard ist mit Grafana realisiert und wird im Moment nur täglich aktualisiert. Zu Beginn des Softwarepraktikums sehen Sie dort noch keine Daten, da diese erst im Laufe der Zeit anfallen.

Das Dashboard zeigt Statistiken über ihre Arbeit im Softwarepraktikum:
  • Bereits erreichte Punkte aus den Sprints
  • Verbuchte geschätzte, und verbuchte gearbeitete Zeit
  • Anonymisierte Ranglisten über alle Softwarepraktikumsteilnehmer
A
Keycloak

Keycloak

Wir verwenden zur zentralen Benutzerverwaltung Keycloak. Unter diesem Link können Sie auf Ihre Accountdaten zugreifen und z.B. ihr Passwort ändern oder 2FA (2-Faktor-Authentifizierung) aktivieren. Keycloak sorgt für einen einheitlichen Login auf allen Diensten. Auf der Keycloak Seite kann das Passwort und die E-Mail-Adresse für Keycloak geändert werden (dies ändert nicht die E-Mail-Adresse, die in den einzelnen Services eingetragen ist).

Erstbenutzung

Nach der Gruppeneinteilung erhalten Sie von unseren Diensten eine Reihe von Mails. In der Mail von SoPra Accounts finden Sie einen Link zur Aktualisierung Ihres Accounts auf Keycloak. Nachdem Sie Ihren Account eingerichtet haben können Sie alle aktuell verfügbaren Dienste über services.sopranium.de erreichen.

Manche von diesen Diensten müssen Sie bei der Erstbenutzung kurz konfigurieren. Diese Konfiguration wird in diesem Artikel beschrieben. Außerdem gibt es hier eine Kurzübersicht über alle aktuell verfügbaren Dienste.

Accounts (Keycloak)

Zu Beginn des Softwarepraktikums erhalten Sie eine Mail, in der Sie zur Aktualisierung Ihres Useraccounts aufgefordert werden. Folgen Sie dem Link und führen Sie gemäß den oben stehenden drei Schritten die Accounteinrichtung durch. Da ihre E-Mail-Adresse und ihr Username bereits aus den Fragebogendaten entnommen wurde, müssen Sie lediglich ein Passwort für Ihren Account setzen.

Gitea

Einloggen bei Gitea mit Keycloak

Falls Sie Gitea nicht über services.sopranium.de sondern direkt über git.sopranium.de aufrufen, könnten Sie dieser Login-Maske begegnen. Verwenden Sie hier den Tab "Sign In" und klicken Sie dann unten auf "Sign In With OpenID" um die Authentifizierung via Keycloak zu benutzen.



Discourse

Discourse's Eingabemaske zur Bestätigung der übermittelten Daten. Sie können hier einfach "Neues Benutzerkonto erstellen" drücken.

Beim ersten Login zeigt Ihnen Discourse eine Eingabemaske in der die von Keycloak übermittelten Daten noch einmal angegeben sind. Sie können hier einfach auf "Neues Benutzerkonto erstellen" drücken.