pombas_n 315e1018e7
Build & Deploy Prod / build-main (push) Successful in 6s
Merge pull request 'Update README.md' (#73) from pombas_n-patch-1 into main
Reviewed-on: #73
2026-09-16 14:39:45 +02:00
2026-09-15 15:57:31 +02:00
2026-05-28 11:07:35 +02:00
2026-09-16 09:22:42 +02:00
2026-09-16 14:39:39 +02:00

PSI Trail V2

Der PSI Trail V2 ist ein Rewrite des PSI Trail V1. Die Anwendung wurde UI-seitig modernisiert und stärker an das PSI Design angepasst.

Die Zielgruppe sind Neulinge am PSI. Der Trail wird jeweils am Einführungstag gemeinsam durchgeführt, welcher monatlich stattfindet.

Zweck

Der PSI Trail V2 hilft neuen Mitarbeitenden und Forschenden, das PSI-Areal besser kennenzulernen.
Da viele nach dem Einführungstag hauptsächlich im Büro arbeiten, bietet der Trail eine spielerische Möglichkeit, sich mit dem Gelände vertraut zu machen.

Ablauf

Der PSI Trail V2 besteht aus mehreren Screens:

  1. Die Gruppe wählt eine Route aus.
  2. Anschliessend erhält sie den ersten Hinweis zu einem Posten.
  3. Vor Ort findet die Gruppe einen QR-Code.
  4. Nach dem Scannen des QR-Codes muss eine Frage über das PSI beantwortet werden.
  5. Bei richtiger Antwort wird der nächste Posten freigeschaltet.

Technische Informationen

  • Frontend-only Applikation
  • Entwickelt mit Angular 21
  • Deployment via CI/CD
  • Routen- und Postendaten werden aus JSON-Dateien geladen

Projektstruktur

psitrail-2.0
├── .gitea/
│   └── workflows/
│       └── buildAndRun.yaml
├── psitrail/
│   ├── public/
│   │   └── assets/
│   │       └── i18n/
│   │           ├── de.json
│   │           └── en.json
│   ├── src/
│   │   ├── app/
│   │   │   ├── interfaces/
│   │   │   ├── pages/
│   │   │   ├── services/
│   │   │   ├── app.config.ts
│   │   │   ├── app.css
│   │   │   ├── app.html
│   │   │   └── app.ts
│   │   ├── index.html
│   │   ├── main.ts
│   │   └── styles.css
│   ├── posten.json
│   ├── routen.json
│   ├── angular.json
│   ├── package.json
│   └── readme.md
├── Dockerfile
└── README.md

Voraussetzungen

Für die lokale Entwicklung wird benötigt:

  • Node.js
  • npm

Andere Package Manager wie pnpm oder yarn können ebenfalls verwendet werden, entwickelt wurde jedoch mit npm.

Lokale Installation

  1. Repository klonen

    git clone git@gitea.psi.ch:bb_if_produktiv/psitrail.git
    
  2. Ins Repository wechseln

    cd psitrail
    
  3. In den Frontend Ordner wechseln

    cd psitrail
    
  4. Abhängigkeiten installieren

    npm install
    
  5. Applikation starten

    npm start
    

Daten

Die Daten für Routen und Posten liegen in JSON-Dateien:

  • routen.json
  • posten.json Änderungen an Routen, Fragen oder Posten können direkt dort vorgenommen werden.

Deployment

Wichtig: Es kann nur in den Branch dev gepusht werden.

Testumgebung

Sobald Änderungen auf dev gepusht werden, wird automatisch auf die Testumgebung deployed:

Hinweis: Die Dev-Umgebung ist nur intern erreichbar.

Produktion

Für ein Produktionsdeployment muss ein Pull Request nach main erstellt werden.

Ablauf:

  1. Änderungen nach dev pushen
  2. Testen auf psitrail-test.psi.ch
  3. Pull Request von dev nach main erstellen
  4. Process Review abwarten
  5. Nach dem erfolgreichen Process Review erfolgt das Deployment auf Produktion

Produktionsumgebung:

Hinweis: Die Produktionsumgebung ist von Überall erreichbar.

CI/CD

Der Deployment-Prozess läuft automatisch über Gitea Workflows.

Der Workflow:

  1. baut ein Docker-Image
  2. veröffentlicht dieses im Package-Repository: bb_if_produktiv/packages
  3. triggert anschliessend den Workflow im Repository: bb_if_produktiv/deployment
  4. dort wird das Image auf den Server deployed

Umgebungen

  • dev → psitrail-test.psi.ch
  • main / prod → psitrail.psi.ch

Hinweise

Der PSI Trail V2 hat kein Backend, rein nur Frontend. Die UI wurde für den Einführungstag und die Nutzung in Gruppen optimiert. Die Texte sind mehrsprachig vorbereitet über die Dateien unter public/assets/i18n/.

S
Description
No description provided
Readme
582 KiB
Languages
TypeScript 52.7%
CSS 30.5%
HTML 16.6%
Dockerfile 0.2%