Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WEII – Studienbewerberportal (Frontend)

Projektübersicht

Dieses Projekt ist im Rahmen des Moduls Web Engineering II entstanden und umfasst die vollständige Umsetzung des Frontends für ein Studierendenbewerberportal als Single-Page Application (SPA).

Das Frontend greift auf einen REST-Server (Übung 1) zu und bildet gemeinsam mit Backend und Datenbank eine vollständige Webanwendung, wie sie auch im professionellen Umfeld eingesetzt wird.

Die Umsetzung des Frontends erfolgte eigenständig.


Technologie-Stack

  • React
  • TypeScript
  • Redux Toolkit
  • Redux (asynchrone Thunks)
  • HTML / CSS
  • HTTPS-Kommunikation mit REST-API

Architektur & State Management

Die Anwendung ist als Single-Page Application umgesetzt und folgt einer klaren Struktur:

  • Pages
    • Startseite
    • User-Management
    • Studiengang-Management
    • Studienbewerbung-Management
  • Components
    • Formulare
    • Listen
    • Dialoge (Login, Bestätigungen)
  • Redux Store
    • Verwaltung des Authentifizierungszustands
    • Speicherung von User-Daten und JWT-Token
    • Asynchrone API-Zugriffe über Redux Thunks

Wichtige Designentscheidung

  • Kein Local Storage
  • Keine Cookies
  • Sicherheitskritische Daten (JWT) werden ausschließlich im Redux Store gehalten
    → Nach einem Reload ist ein erneuter Login erforderlich (bewusste Sicherheitsentscheidung).

Funktionale Features

Öffentlicher Bereich

  • Landing Page mit Begrüßung
  • Login-Button (öffnet modalen Login-Dialog)

Authentifizierung

  • Login über Basic Authentication
  • Anzeige eines Spinners während des Login-Vorgangs
  • Fehlerbehandlung bei falschen Credentials
  • Erfolgreicher Login führt in den geschützten Bereich

Geschützter Bereich (nach Login)

Navigation

  • Immer sichtbar
  • Rollenabhängig (Admin / User)
  • Keine Dropdown-Navigation

User-Management (nur Administratoren)

  • User auflisten
  • User anlegen
  • User bearbeiten (inkl. Passwort & Rolle)
  • User löschen (mit Bestätigungsdialog)
  • Automatische Aktualisierung der Listen nach Änderungen

Studiengang-Management

  • Studiengänge auflisten (alle User)
  • Studiengänge anlegen, bearbeiten, löschen (nur Admin)
  • Button zum Anlegen einer Studienbewerbung pro Studiengang

Studienbewerbungen

  • Anlegen von Bewerbungen über Studiengänge
  • Unterschiedliches Verhalten je nach Rolle:
    • Admin: Bewerbungen für alle User
    • User: nur eigene Bewerbungen
  • Auflisten von Bewerbungen
  • Löschen von Bewerbungen (mit Bestätigung)
  • Validierung gemäß Backend-Regeln (keine Doppelbewerbungen)

Autorisierung & Sicherheit

  • UI reagiert auf Benutzerrolle
  • Admin-Funktionen nur sichtbar für Administratoren
  • Kommunikation ausschließlich über REST-API
  • Token wird bei allen geschützten Requests im Header übertragen

Start & Konfiguration

Installation

npm install

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages