Alertmns
ALERTMNS is an internal messaging app that an organisation installs on its own server, as an alternative to Slack or Discord. It brings together real-time chat, presence, time tracking and meetings. It was designed from the start to comply with the GDPR.
Context
The project starts from a simulated brief. An organisation that has tried Slack and Discord wants its own internal communication tool. It no longer wants to depend on a vendor's licence, and it wants to guarantee GDPR compliance itself, with no data leaving its infrastructure. The requirements cover channels and private messages, notifications, access management by department, seeing who is present, working-time calculation (daily, weekly, monthly) and conversation export. The tool also had to be responsive and lightweight.
What I built
I designed and built the application on my own, end to end, in nine phases tracked on GitHub. The API runs on Symfony 7.4 and MySQL. The interface uses Vue 3 and Tailwind CSS, based on Figma mockups. Real-time updates go through Mercure. The tool covers channels and direct messages, attachments, export, presence, time tracking, meetings with video calls and Web Push notifications. On the GDPR side: a processing record, an impact assessment, scheduled purging and self-service account deletion. The application is deployed with Docker behind Caddy, and its backups are encrypted.
Outcome
The application is in production at alertmns.brunoamuzu.fr. The code is covered by 600 automated tests (314 PHPUnit, 286 Vitest). The whole brief is covered, and I added two extensions: video meetings and notifications when the app is closed. This project had me work across the whole chain: design, real time, accessibility, GDPR compliance and production deployment.