Highlight Mobile-App 2024

Masroufi

Eine vollständige mobile Recruiting-Plattform, die Bewerber, Recruiter und Admins verbindet — entwickelt mit Flutter und Clean Architecture.

Eine vollständige mobile Recruiting-Plattform mit Flutter, Clean Architecture und BLoC, die drei verschiedene Benutzerrollen unterstützt.

#flutter#recruitment#role-based-access#real-time#clean-architecture

Masroufi ist eine umfassende mobile Recruiting-Plattform, die mit Flutter entwickelt wurde und drei verschiedene Benutzerrollen im selben System unterstützt: Bewerber, Recruiter und Administratoren.

Bewerber können Stellen durchsuchen, suchen, filtern, speichern und sich bewerben – mit einem vollständigen Bewerbungs-Tracking-Dashboard mit den Status Ausstehend, Angenommen und Abgelehnt. Recruiter verwalten ihre Stellenangebote und prüfen Bewerberprofile. Admins haben ein systemweites Verwaltungspanel.

Das Projekt verwendet Flutter-Architekturmuster auf Produktionsniveau — Clean Architecture mit funktionsbasierter modularer Struktur, BLoC/Cubit für skalierbares State Management und JWT-Authentifizierung mit automatischer Token-Aktualisierung über Dio-Interceptoren.

Hauptfunktionen

👥

Drei-Rollen-System

Eigenständige Erlebnisse für Bewerber, Recruiter und Admins – jeweils mit eigenen Dashboards, Berechtigungen und Navigationsflüssen.

📋

Bewerbungs-Tracking

Bewerber verfolgen jede Bewerbung in Echtzeit mit Statusupdates (Ausstehend, Angenommen, Abgelehnt) und Recruiter-Feedback.

🔐

Sichere JWT-Authentifizierung

Automatische Token-Aktualisierung über Dio-Interceptoren mit sicherer Speicherung via FlutterSecureStorage — nie in SharedPreferences.

📦

Offline-Caching mit Hive

Hive-lokaler Cache hält die App auch bei schlechter Konnektivität funktionsfähig und reduziert unnötige API-Aufrufe.

💬

Echtzeit-Recruiter-Chat

WebSocket-basierter Nachrichtenkanal zwischen Recruitern und Bewerbern für direkte In-App-Kommunikation.

Tech-Stack

FlutterDartBLoCDioHiveFlutterSecureStorage

Architektur

Die App folgt Clean Architecture mit drei Schichten: Data, Domain und Presentation. Features sind vollständig modular — jedes Feature ist ein eigenständiger Ordner mit eigenen Schichten.

JWT-Tokens werden über einen Dio-Interceptor verwaltet, der 401-Antworten automatisch erkennt und die ursprüngliche Anfrage nach einem Refresh erneut sendet. Sichere Tokens werden mit FlutterSecureStorage gespeichert.

Herausforderungen & Lösungen

Die schwierigen Probleme — und wie ich sie gelöst habe.

Drei Rollen ohne Komplexitätsexplosion verwalten

Drei völlig unterschiedliche Nutzererlebnisse in einer App drohte eine unübersichtliche Codebasis zu erzeugen. Gelöst durch RBAC auf UI- und Repository-Ebene mit funktionsbasierter modularer Struktur.

JWT-Refresh Race Conditions bei gleichzeitigen Anfragen

Mehrere simultane API-Aufrufe beim Token-Ablauf verursachten eine Race Condition. Behoben durch eine Request-Queue im Dio-Interceptor: der erste 401 löst einen einzigen Refresh aus, alle wartenden Anfragen werden mit dem neuen Token fortgesetzt.

Cross-Feature-Zustandssynchronisation ohne enge Kopplung

Wenn ein Recruiter eine Bewerbung annimmt, musste die Bewerber-Liste aktualisiert werden – obwohl es separate Module sind. Gelöst mit einem geteilten Event-Bus-Muster.

Weitere Projekte

ExtMig

Ein Open-Source-Entwicklerwerkzeug zur Verbesserung von Migrations-Workflows und Produktivität für moderne Entwicklungsteams.

TypeScriptNode.js

Cat'aloge

Eine KI-gestützte mobile App, die automatisch Ihre Galerie durchsucht und Tierfotos mithilfe vollständig auf dem Gerät laufender TensorFlow Lite-Inferenz organisiert.

FlutterDartTensorFlow LiteRiverpod +1

Accident Risk Navigator

Eine KI-Full-Stack-Plattform, die Unfallrisiken basierend auf Straßen- und Wetterbedingungen vorhersagt und Risikozonen auf interaktiven Karten visualisiert.

ReactTypeScriptPythonTensorFlow +4

Interesse an einer Zusammenarbeit?

Ich bin immer offen für Gespräche über neue Projekte und Möglichkeiten.

Jihed Mrouki

Mobile- & Flutter-Entwickler spezialisiert auf skalierbare Architekturen und intelligente mobile Lösungen.

Vernetzen

© 2026 Jihed Mrouki. Alle Rechte vorbehalten.

Entwickelt mit SvelteKit & TailwindCSS