Skip to content
Dimitri Robiere PerrietD. R. PerrietCaen, FR — --:--:--EN · FR

Customised qdPM in PHP for ticket tracking

Under contract · Mediapilote○ Archived
Client
Mediapilote
Role
Full-stack developer
Duration
5 days
Year
2025
Stack
PHP · Symfony 1 · qdPM · Mailjet · Node.js · DataTables · Docker
Customised qdPM in PHP for ticket tracking — illustration
Fig. 01 — Customised qdPM in PHP for ticket tracking, illustration
(00) — In short

Adapting qdPM, an open-source PHP project management tool, to the agency’s needs: ticket assignment, quick time entry and Mailjet email notifications.

(01)

Context

Mediapilote tracked its projects, tasks and support tickets in qdPM, an open-source project management tool written in PHP. Out of the box, it lacked features the team needed every day.

I adapted the tool in five days of development, on a Docker environment set up for the job.

(02)

Challenge

qdPM is built on symfony 1, an old framework, with a large and poorly documented codebase. Every addition had to fit into what was there without breaking the original screens.

The other goal was speed of use: logging time, assigning a ticket or notifying a colleague had to take a few seconds.

(03)

Approach

I added ticket assignment to several users, links between tickets and tasks filtered by project, priorities, worked hours in comments and a client column in the lists. A quick time-entry mega menu lets users find a project, task or ticket by search.

For notifications, I connected Mailjet through a small Node.js proxy, with a fallback to the direct API: ticket resolution, user mentions with autocomplete, password reset. The tool also got a Mediapilote-branded skin and client-side paginated lists with DataTables.

(04) — Results

Key figures
5
days of development
21
commits
3
emails: resolution, mention, password
Docker
development environment
← Previous project30 · Story Control, a browser extension for InstagramNext project32PHP and MySQL intranet for a hospital