CV

Job board

SchoolOct 2026 – Oct 2026Team of 2 · with Léa Bossuat (GitHub, LinkedIn)

A job-listings website with a relational database, a PHP API and per-user encryption of personal data, deployed with one Docker command.

Context & objective

Epitech project T-WEB-500, built with Léa Bossuat: a job board where companies post listings and candidates apply, while keeping personal data protected under GDPR.

What I built

  • A relational schema modelled on dbdiagram.io: listings, users, company profiles and encryption keys.
  • Companies and candidates in one users table, told apart by role, with public company information in a separate profile table.
  • A data encryption key per user, so personal data is encrypted for GDPR from the design stage, not added afterwards.
  • A PHP API called by the JavaScript front end.
  • A repo where git pull and docker compose up put the whole site online: PostgreSQL, PHP and Nginx in containers.

Challenges

  • Choosing between separate company and candidate tables or one role-based users table.
  • Fitting per-user encryption keys into the schema without making every query painful.

What I learned

TODO(content): in your own words. Raw material: relational modelling trade-offs, designing encryption into a data model, packaging an app so it deploys in one command, working as a pair.