Cette étude de cas n'est pour l'instant rédigée qu'en anglais — le reste du site est disponible en Français.

février 2026 Projet client Projet client — confidentiel PHPMySQLJavaScript

Leave Planning & Management System

Un système RH interne où les permissions suivent la hiérarchie, et non un tableau de rôles.

Pas de lien public — système interne. Captures d'écran ci-dessous.

Rôles 3
Rôle
Sole designer and developer — data model, backend, interface, balance engine, reporting and exports
Type
Internal HR system, client work — confidential
Technologies
PHP, MySQL, JavaScript
Statut
Delivered. Live link: unavailable — internal system.

Le problème

Leave planning across mixed working patterns is hard to see and easy to get wrong. Requests arrive by email, entitlements live in spreadsheets, and nobody can answer the only question that matters on a given day: who is off, and can we still cover the shift? The cost is not paperwork — it is discovering a coverage gap too late to fix it.

L'approche

One system of record, three views onto the same data. Employees see their own balance, working-day pattern and request history. Managers see their team's coverage and approve against it. HR sees the whole organisation — a full-year planning grid, every request, every balance, and an audit trail of who changed what.

Décisions clés

Permissions follow the reporting line, not a role table

Each profile carries a manager, so a manager's own request routes upward while their team's requests route to them. One rule generates the entire hierarchy, and adding a department requires no code.

The app reads the planners' existing spreadsheet

Working patterns were already maintained in an Excel workbook people knew and trusted. Rather than force a migration, the system synchronises from that file automatically and becomes the layer on top of it. Adoption stopped being a negotiation.

Concurrency limits warn, they don't block

Each position and shift has a maximum number of people off at once. When it's reached, the employee sees a warning and a human still decides. Rules that hard-block get worked around; rules that inform get used.

Captures d'écran

Résultat

Leave moved from scattered email threads and spreadsheets to a single auditable record, with same-day coverage visible to the people who plan it and full-year exports for the people who report on it.

Un site web ou une application en tête ?

Démarrer un projet →