CyberVault

CyberVault ist eine Full-Stack-Banking-Plattform zur Verwaltung von Kundenkonten, Finanztransaktionen, Profilen sowie Mitarbeiter- und Benutzerverwaltung über rollenbasierte Bereiche. Die Anwendung verwendet Next.js und eine separate Node.js/Express REST API mit MySQL sowie Authentifizierung, rollenbasierte Autorisierung, Token-Sicherheit, Eingabevalidierung und Audit-Logging.

Project Image

Verwendete Technologien

Next.jsTypeScriptNextAuthReact Hook FormZodTailwind CSSNode.jsExpressSequelizeNodemailerArgon2express-rate-limitVercel (planned)AWS (planned)

Projektübersicht

CyberVault ist ein Full-Stack-System für Banking und Finanzverwaltung, das Kundenservices mit der internen Bankverwaltung verbindet. Es unterstützt drei Rollen: Kunden, Mitarbeiter und Administratoren. Kunden verwalten ihre Profile, sehen Kontodetails und Kontostände ein und prüfen ihre Transaktionshistorie. Mitarbeiter können Kunden suchen und ihre Daten entsprechend ihrer Berechtigungen verwalten. Administratoren verwalten Mitarbeiter und Benutzer, entsperren Konten und nutzen Verwaltungs-Dashboards. Jede Rolle hat eine eigene Oberfläche und Navigation. Das Frontend verwendet Next.js, React und TypeScript, während ein separates Node.js/Express-Backend eine versionierte REST API bereitstellt. Next.js API-Routen verbinden Frontend und Backend und verarbeiten Weiterleitung, Authentifizierungsdaten, Cookies und Antworten. Das Backend ist in Routen, Controller, Services, Repositories, Sequelize-Modelle, Validierung, Middleware und Hilfsfunktionen gegliedert.

Wichtige Funktionen

Sichere Authentifizierung

Authentifizierung und Autorisierung schützen den Zugriff auf die Bereiche der verschiedenen Rollen.

Rollenbasierte Bereiche

Separate Bereiche und Navigation richten sich nach den jeweiligen Banking-Aufgaben.

Banking-Abläufe

Transaktionsfunktionen unterstützen zentrale Banking-Abläufe innerhalb der Anwendung.

Angriffsabwehr

Sicherheitsmaßnahmen reduzieren häufige Angriffe und Schwachstellen in Webanwendungen.

Benutzer- und Mitarbeitermanagement

Administratoren verwalten Benutzer- und Mitarbeiterkonten, Rollen und Zugriffsrechte.

Bereitstellung und Infrastruktur

Die Anwendung ist auf einer Cloud-Plattform mit eigener Domain und SSL-Zertifikat bereitgestellt.

Screenshots

CyberVault Administrator-Dashboard Screenshot

Administrator-Dashboard

Das CyberVault-Administrator-Dashboard zeigt die Verwaltungsoberfläche der Anwendung.

CyberVault Anmeldung Screenshot

Anmeldung

Die CyberVault-Anmeldeseite ermöglicht die Authentifizierung und den Zugriff auf Konten.

CyberVault Nutzerbereich Screenshot

Nutzerbereich

Der CyberVault-Nutzerbereich zeigt eine Übersicht über das Konto und aktuelle Aktivitäten.

CyberVault Mitarbeiterbereich Screenshot

Mitarbeiterbereich

Der CyberVault-Mitarbeiterbereich bietet Werkzeuge zur Verwaltung von Benutzerkonten und Transaktionen.

CyberVault Nutzertransaktionen Screenshot

Nutzertransaktionen

Die CyberVault-Transaktionsseite ermöglicht die Anzeige und Verwaltung von Finanztransaktionen.

CyberVault Administratorbereich Screenshot

Administratorbereich

Der CyberVault-Administratorbereich zeigt eine Übersicht des Systems und wichtige Kennzahlen.

Herausforderungen und Lösungen

Herausforderungen
  • Unterschiedliche Verantwortlichkeiten abzubilden, ohne die Banking-Erfahrung unübersichtlich zu machen.
  • Den Zugriff auf Bereiche mit Konto- und Transaktionsdaten zu schützen.
  • Die Verantwortung der Webanwendung von den weiteren Netzwerk- und Infrastrukturaufgaben zu trennen.
Lösungen
  • Die Anwendung wurde in Bereiche für Kunden, Mitarbeiter und Administratoren mit rollenspezifischer Navigation gegliedert.
  • Authentifizierung und rollenbasierter Zugriff schützen die geschützten Anwendungsbereiche.
  • Frontend und Backend-API bleiben vom umfassenderen Netzwerk- und Infrastrukturteil des Abschlussprojekts getrennt.