Frontend
Frontend
Next.js, React, TypeScript, and TailwindCSS frontend separated from the backend, covering passenger, driver, company, and station administration workflows.
Flagship Project
Intelligent bus station management platform connecting passengers, drivers, transport companies, and station administrators through a centralized web system.
Rôle
Full-Stack Software Engineer responsible for platform architecture, backend services, frontend workflows, security, real-time features, and distributed systems integration.

Contexte
RIHLA was designed as a large-scale intelligent bus station management platform to digitalize and automate operational activities inside a modern station.
Traditional bus station operations often rely on disconnected tools and manual processes, creating trip management issues, passenger confusion, platform assignment conflicts, limited visibility, and slow communication between actors.
Designed and built a centralized platform with role-based modules, secure APIs, reservations, payments, driver workflows, company management, station administration, OCR-based bus identification, WebSocket notifications, and distributed communication patterns.
The project separates frontend and backend responsibilities while integrating distributed systems concepts: synchronous APIs, asynchronous messaging, real-time notifications, resilience patterns, and OCR automation.
Une lecture structurée des blocs techniques et des responsabilités prévues dans le projet.
Frontend
Next.js, React, TypeScript, and TailwindCSS frontend separated from the backend, covering passenger, driver, company, and station administration workflows.
Backend
Spring Boot backend with Spring Security, REST APIs, JPA/Hibernate, modular service architecture, protected APIs, and role-based logic.
Base de données
MySQL persistence for users, trips, reservations, companies, buses, routes, tickets, payments, messages, and station operations.
Authentification
JWT authentication, RBAC, BCrypt password encryption, protected APIs, and secure session management.
Intégrations
ActiveMQ/JMS messaging, Java RMI, WebSockets, Resilience4j retry/circuit breaker/fallback patterns, Docker, OpenCV, YOLOv8, JUnit 5, Selenium, SonarQube, and Postman.
Distributed systems concepts implemented through REST APIs, Java RMI, ActiveMQ/JMS, WebSockets, and Resilience4j.
OCR pipeline combines OpenCV preprocessing and YOLOv8 plate detection for bus identification and platform assignment.
Security and quality practices include JWT, RBAC, BCrypt, protected APIs, JUnit 5, Selenium, SonarQube, and Postman testing.
La qualité est présentée comme une démarche progressive : tests ciblés, lisibilité, analyse statique et décisions documentées.
Quality practices include layered architecture, SOLID principles, JUnit 5, Selenium, SonarQube, Postman testing, and security controls around authentication and roles.
Ces apprentissages transforment le projet en preuve de raisonnement technique, pas seulement en liste de fonctionnalités.