Back to projects

Royal Air Maroc

Airport badges & access.

Employee requests, administrator approvals and dated airport access in one application.

  • Java Spring Boot
  • React
  • TypeScript
Try the UI demo
E-badges application: requests and approvals with fictitious data
Live application · Fictitious data
User roles
2
Keycloak identity
JWT
Airport access
Dated

Architecture

Simplified view
  1. React / TypeScript

    Admin & employee screens

  2. Spring Boot + JWT

    Authentication & roles

  3. PostgreSQL

    Badges & access periods

Request and fulfillment

  1. 01

    Employee request

    Submit and follow a request

  2. 02

    Admin review

    Approve or reject

  3. 03

    Badge issuance

    Assign the badge and its expiry

  4. 04

    Airport access

    Assign an airport and date interval

Implementation details

Full-stack development internship · July–August 2025

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.