Back to projects

Royal Air Maroc

Airport badges & access.

Full-stack development internship · July–August 2025

I built the request and approval screens and integrated Keycloak roles for the administrator and employee areas.

  • Java Spring Boot
  • React
  • TypeScript
Try the demo (FR)
E-badges application: requests and approvals with fictitious data
Live application · Fictitious data
User roles
2
Employees and badges
By company
Airport access periods
Start & end dates

Who can do what

  1. Identify the role

    Map Keycloak roles to Spring permissions

  2. Review requests

    Employees submit, administrators decide

  3. Assign access

    Set an airport and a date range

Implementation details

My contribution

  • Built Spring Boot APIs and React screens for requests, badges and access management.
  • Integrated Keycloak/JWT authentication and role-based checks, with employee self-service endpoints.
  • Linked employees and badges to companies and modeled time-bounded airport access.
  • Wrote controller, service and mapping tests with JUnit and Mockito.

Inspect the implementation

The public repositories contain the role mapping, controller checks, badge/access services and tests. The portfolio demo reuses the React screens with an in-memory adapter and fictitious records.

Keycloak supplies identity and roles. Companies link employees and badges; badge expiry and airport-access start/end dates are stored separately.