π The Context: "Independence has a face"
For a high-end beauty institute, brand image doesn't stop at the shop door; it begins at the moment an appointment is booked. Standard solutions like Planity, while effective, impose a rigid visual framework and a costly long-term subscription model.
The Manon Daniel project was born from a desire for change: to create a proprietary, scalable tool without hidden recurring costs. Initially developed with success by Mathieu Rio, I later joined the project to support its growth and evolve the infrastructure to meet new scaling challenges.
π Client Requirements: Uncompromised Premium
The challenge was not only to enable appointment booking but to secure the institute's business. The system integrates fine-tuned deposit management via Stripe to combat "no-shows," while offering a fluid mobile-first interface for a demanding clientele.

π― My Role: Maintenance, Evolution & DevOps
After taking over the project following the initial phase, my mission evolved into a Lead Maintainer & DevOps role. I was thus able to take ownership of a modern stack (Nuxt.js, Prisma, Kinde) to ensure its longevity and enrich it.
1. UI & Identity Refresh
I led a deep aesthetic redesign to align with the institute's new branding. To anticipate future needs (relocation, name change), I centralized the entire visual identity into a single configuration, allowing the "soul" of the site (colors, logos, variables) to be modified in a single line of code.

2. Technical Sovereignty
Faced with the growing costs of managed services, I made the strategic decision to move out of the Supabase ecosystem. I migrated and self-hosted the PostgreSQL database on a dedicated VPS, while rebuilding essential services from scratch: scheduled task management (Cron) for appointment reminders and a secure email delivery system.

π§ Under the Hood: Architecture & Technical Challenges
The project evolved from a "cloud-dependent" application to a containerized and autonomous solution.
βοΈ The DevOps Shift: Docker & Lean CI/CD
For an independent project, simplicity is a form of security. I chose to remove the Jenkins instance (too resource-hungry and complex to maintain) in favor of a Docker Compose + GitHub Actions workflow. The entire application (App, DB, Nginx) is now containerized, ensuring that "it works on my machine" means "it works in production."

π§ The Technical Challenge: Transitioning to Industrial Scale
Upon joining the project, the challenge was not only to add new features but to support a codebase that had grown very quickly following a successful launch. To facilitate future evolutions, it became relevant to adapt the architecture by further separating business logic from interface components (Vue).
The challenge was particularly stimulating: evolving the architecture and introducing automated tests on a rich codebase that I was discovering, all without interrupting service.
π‘ The Solution: "Trust-Based Refactoring" and Modular Architecture
To support the project's scaling and consolidate existing foundations, I established a three-step methodology:
- Security through Testing (E2E & Unit): Before touching a single line of code, I deployed a regression testing suite with Playwright. The goal: to "freeze" the expected behavior of critical features (booking, payment) to be able to refactor with peace of mind.
- Decoupling and Clean Architecture: I undertook a systematic extraction of business logic out of Vue components. I implemented dedicated handlers and services on both the backend and frontend. This separation of concerns makes the code not only more readable but, above all, unit-testable and reusable.
- Workflow Standardization: I harmonized the folder structure and naming conventions (TypeScript, ESLint, Prettier). This large-scale "organization" drastically reduced the cognitive load required for each new modification, transforming a complex codebase into a fluid working environment.
π Vision and Beyond
The site is now the main engine of the Manon Daniel institute. The continuation of the project focuses on rigorous maintenance: constant monitoring of security updates, ensuring maximum uptime to avoid any lost bookings, and regularly adding "comfort" features for the administrator to simplify her daily management.