Personal portfolio with full admin, interactive terminal, invoicing, client management and automated deployment.
Full-stack design and development of my personal portfolio site with Laravel, Inertia.js and Vue.js, server-side rendered (SSR).
Showcase site with interactive terminal simulating a Unix shell (ls, cat, grep, whoami, contact, clear commands), project filtering by technology and category (enterprise, freelance, personal, open source), screenshot and video galleries with lightbox, file downloads, and legal pages. Multi-language FR/EN with locale detection.
Complete back-office: project management with rich text editor, repositories with technology association via multi-select, thumbnail and media upload with automatic compression via a custom package published on Packagist (justsmiletoo/laravel-file-compressor). Technology management with search, pagination and drag-and-drop reordering. Client management with revenue and pending amount tracking.
Invoicing module: invoice and quote creation with dynamic line items, global or per-line tax, PDF generation with DomPDF (company info, logo, bank details, legal mentions). Partial payment tracking with automatic status updates. Quote-to-invoice conversion. Client subscription management with expiration tracking.
Dashboard with monthly revenue chart, counters (invoices, quotes, paid, overdue), top clients, pending invoices, recent activity and expiring subscriptions. Configurable billing settings (company info, logo, SIRET, VAT, bank details, payment terms, legal mentions).
Magic link authentication (passwordless), contact form with email sending. Automated deployment via GitHub Actions with multi-stage Docker build (Vite assets + PHP), images on GHCR, and VPS deployment via Traefik with SSL Let's Encrypt.