fix: update portfolio branding to "Killian' DAL-CIN" across all documentation and components
- Corrected the name in various files including CLAUDE.md, README.md, and configuration files to reflect the updated branding. - Ensured consistency in the use of the new name throughout the project, enhancing brand identity.
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# Portfolio Killian Dalcin — Migration Nuxt 4
|
||||
# Portfolio Killian' DAL-CIN — Migration Nuxt 4
|
||||
|
||||
## What This Is
|
||||
|
||||
Migration complète d'un portfolio freelance de Vue 3 SPA vers Nuxt 4 avec SSR complet. Le site présente les projets, services et compétences de Killian Dalcin, développeur freelance, avec support bilingue FR/EN. L'objectif est un SEO parfait et un développement rapide via des composants prêts à l'emploi (Nuxt UI v3).
|
||||
Migration complète d'un portfolio freelance de Vue 3 SPA vers Nuxt 4 avec SSR complet. Le site présente les projets, services et compétences de Killian' DAL-CIN, développeur freelance, avec support bilingue FR/EN. L'objectif est un SEO parfait et un développement rapide via des composants prêts à l'emploi (Nuxt UI v3).
|
||||
|
||||
## Core Value
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Requirements: Portfolio Killian Dalcin — Nuxt 4 Migration
|
||||
# Requirements: Portfolio Killian' DAL-CIN — Nuxt 4 Migration
|
||||
|
||||
**Defined:** 2026-04-07
|
||||
**Core Value:** Chaque page du portfolio doit être crawlable par les moteurs de recherche sans JavaScript côté client
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Roadmap: Portfolio Killian Dalcin — Nuxt 4 Migration
|
||||
# Roadmap: Portfolio Killian' DAL-CIN — Nuxt 4 Migration
|
||||
|
||||
## Overview
|
||||
|
||||
|
||||
@@ -171,7 +171,7 @@ export interface TechStack {
|
||||
```vue
|
||||
<template>
|
||||
<div>
|
||||
<h1>Portfolio Killian Dalcin</h1>
|
||||
<h1>Portfolio Killian' DAL-CIN</h1>
|
||||
<p>Nuxt 4 Foundation</p>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -120,7 +120,7 @@ export default defineAppConfig({
|
||||
- `css: ['~/assets/css/main.css']`
|
||||
- `colorMode` block: `{ preference: 'dark', fallback: 'dark', storage: 'cookie', storageKey: 'nuxt-color-mode', cookieName: 'nuxt-color-mode', classSuffix: '' }`
|
||||
- `i18n.baseUrl: 'https://killiandalcin.fr'`
|
||||
- `site: { url: 'https://killiandalcin.fr', name: 'Killian Dalcin - Developpeur Full Stack' }`
|
||||
- `site: { url: 'https://killiandalcin.fr', name: 'Killian' DAL-CIN - Developpeur Full Stack' }`
|
||||
|
||||
Do NOT touch existing modules array or i18n locale config — they are correct from Phase 1.
|
||||
|
||||
@@ -171,44 +171,44 @@ fr.json top-level structure:
|
||||
"formation": "Formation"
|
||||
},
|
||||
"footer": {
|
||||
"copyright": "© 2026 Killian Dalcin"
|
||||
"copyright": "© 2026 Killian' DAL-CIN"
|
||||
},
|
||||
"a11y": {
|
||||
"logoLabel": "Killian Dalcin — Developpeur Full Stack — Retour a l'accueil",
|
||||
"logoLabel": "Killian' DAL-CIN — Developpeur Full Stack — Retour a l'accueil",
|
||||
"openMenu": "Ouvrir le menu de navigation",
|
||||
"closeMenu": "Fermer le menu de navigation",
|
||||
"closeDrawer": "Fermer le menu",
|
||||
"langToggle": "Changer la langue — actuellement Francais",
|
||||
"themeDark": "Activer le mode clair",
|
||||
"themeLight": "Activer le mode sombre",
|
||||
"github": "GitHub de Killian Dalcin (nouvelle fenetre)",
|
||||
"linkedin": "LinkedIn de Killian Dalcin (nouvelle fenetre)",
|
||||
"fiverr": "Fiverr de Killian Dalcin (nouvelle fenetre)"
|
||||
"github": "GitHub de Killian' DAL-CIN (nouvelle fenetre)",
|
||||
"linkedin": "LinkedIn de Killian' DAL-CIN (nouvelle fenetre)",
|
||||
"fiverr": "Fiverr de Killian' DAL-CIN (nouvelle fenetre)"
|
||||
},
|
||||
"seo": {
|
||||
"home": {
|
||||
"title": "Killian Dalcin — Developpeur Full Stack Freelance",
|
||||
"description": "Portfolio de Killian Dalcin, developpeur full stack freelance specialise en Vue.js, React et Node.js. Applications web performantes et solutions sur-mesure."
|
||||
"title": "Killian' DAL-CIN — Developpeur Full Stack Freelance",
|
||||
"description": "Portfolio de Killian' DAL-CIN, developpeur full stack freelance specialise en Vue.js, React et Node.js. Applications web performantes et solutions sur-mesure."
|
||||
},
|
||||
"projects": {
|
||||
"title": "Projets — Killian Dalcin",
|
||||
"title": "Projets — Killian' DAL-CIN",
|
||||
"description": "Decouvrez mes realisations en developpement web : applications Vue.js, API Node.js, bots Discord et solutions d'entreprise."
|
||||
},
|
||||
"about": {
|
||||
"title": "A propos — Killian Dalcin",
|
||||
"description": "Biographie et competences de Killian Dalcin, developpeur full stack freelance base en France."
|
||||
"title": "A propos — Killian' DAL-CIN",
|
||||
"description": "Biographie et competences de Killian' DAL-CIN, developpeur full stack freelance base en France."
|
||||
},
|
||||
"contact": {
|
||||
"title": "Contact — Killian Dalcin",
|
||||
"description": "Contactez Killian Dalcin pour discuter de votre projet de developpement web."
|
||||
"title": "Contact — Killian' DAL-CIN",
|
||||
"description": "Contactez Killian' DAL-CIN pour discuter de votre projet de developpement web."
|
||||
},
|
||||
"fiverr": {
|
||||
"title": "Services Fiverr — Killian Dalcin",
|
||||
"title": "Services Fiverr — Killian' DAL-CIN",
|
||||
"description": "Services de developpement disponibles sur Fiverr : bots Discord, plugins Minecraft, applications web."
|
||||
},
|
||||
"formation": {
|
||||
"title": "Formation — Killian Dalcin",
|
||||
"description": "Formations et cours proposes par Killian Dalcin en developpement web."
|
||||
"title": "Formation — Killian' DAL-CIN",
|
||||
"description": "Formations et cours proposes par Killian' DAL-CIN en developpement web."
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -226,44 +226,44 @@ en.json same structure with English translations:
|
||||
"formation": "Training"
|
||||
},
|
||||
"footer": {
|
||||
"copyright": "© 2026 Killian Dalcin"
|
||||
"copyright": "© 2026 Killian' DAL-CIN"
|
||||
},
|
||||
"a11y": {
|
||||
"logoLabel": "Killian Dalcin — Full Stack Developer — Back to homepage",
|
||||
"logoLabel": "Killian' DAL-CIN — Full Stack Developer — Back to homepage",
|
||||
"openMenu": "Open navigation menu",
|
||||
"closeMenu": "Close navigation menu",
|
||||
"closeDrawer": "Close menu",
|
||||
"langToggle": "Change language — currently English",
|
||||
"themeDark": "Switch to light mode",
|
||||
"themeLight": "Switch to dark mode",
|
||||
"github": "Killian Dalcin on GitHub (opens in new tab)",
|
||||
"linkedin": "Killian Dalcin on LinkedIn (opens in new tab)",
|
||||
"fiverr": "Killian Dalcin on Fiverr (opens in new tab)"
|
||||
"github": "Killian' DAL-CIN on GitHub (opens in new tab)",
|
||||
"linkedin": "Killian' DAL-CIN on LinkedIn (opens in new tab)",
|
||||
"fiverr": "Killian' DAL-CIN on Fiverr (opens in new tab)"
|
||||
},
|
||||
"seo": {
|
||||
"home": {
|
||||
"title": "Killian Dalcin — Freelance Full Stack Developer",
|
||||
"description": "Portfolio of Killian Dalcin, freelance full stack developer specializing in Vue.js, React and Node.js. High-performance web applications and custom solutions."
|
||||
"title": "Killian' DAL-CIN — Freelance Full Stack Developer",
|
||||
"description": "Portfolio of Killian' DAL-CIN, freelance full stack developer specializing in Vue.js, React and Node.js. High-performance web applications and custom solutions."
|
||||
},
|
||||
"projects": {
|
||||
"title": "Projects — Killian Dalcin",
|
||||
"title": "Projects — Killian' DAL-CIN",
|
||||
"description": "Discover my web development projects: Vue.js applications, Node.js APIs, Discord bots and enterprise solutions."
|
||||
},
|
||||
"about": {
|
||||
"title": "About — Killian Dalcin",
|
||||
"description": "Biography and skills of Killian Dalcin, freelance full stack developer based in France."
|
||||
"title": "About — Killian' DAL-CIN",
|
||||
"description": "Biography and skills of Killian' DAL-CIN, freelance full stack developer based in France."
|
||||
},
|
||||
"contact": {
|
||||
"title": "Contact — Killian Dalcin",
|
||||
"description": "Contact Killian Dalcin to discuss your web development project."
|
||||
"title": "Contact — Killian' DAL-CIN",
|
||||
"description": "Contact Killian' DAL-CIN to discuss your web development project."
|
||||
},
|
||||
"fiverr": {
|
||||
"title": "Fiverr Services — Killian Dalcin",
|
||||
"title": "Fiverr Services — Killian' DAL-CIN",
|
||||
"description": "Development services available on Fiverr: Discord bots, Minecraft plugins, web applications."
|
||||
},
|
||||
"formation": {
|
||||
"title": "Training — Killian Dalcin",
|
||||
"description": "Training and courses offered by Killian Dalcin in web development."
|
||||
"title": "Training — Killian' DAL-CIN",
|
||||
"description": "Training and courses offered by Killian' DAL-CIN in web development."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -103,7 +103,7 @@ Create `app/components/layout/AppHeader.vue` as a single-file component containi
|
||||
|
||||
**Left — Logo:**
|
||||
- `<NuxtLink to="localePath('/')" :aria-label="t('a11y.logoLabel')">`
|
||||
- Contains `<NuxtImg src="/images/logo.webp" alt="Killian Dalcin" width="40" height="40" loading="eager" />` + `<span class="text-lg font-semibold">Killian</span>`
|
||||
- Contains `<NuxtImg src="/images/logo.webp" alt="Killian' DAL-CIN" width="40" height="40" loading="eager" />` + `<span class="text-lg font-semibold">Killian</span>`
|
||||
|
||||
**Center-Right — Desktop nav (hidden md:flex):**
|
||||
- Use `<nav>` with `<NuxtLink>` for each route: home(/), projects(/projects), about(/about), contact(/contact), fiverr(/fiverr), formation(/formation)
|
||||
@@ -226,7 +226,7 @@ Template:
|
||||
- Icon: `<UIcon :name="link.icon" class="w-5 h-5 text-gray-500 dark:text-gray-400 hover:text-primary-500 transition-colors duration-150" />`
|
||||
- Focus ring on each `<a>`: `focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2`
|
||||
|
||||
Note: a11y.github key text says "GitHub de Killian Dalcin" but links to Gitea — the executor should update the a11y key in fr.json/en.json to say "Gitea" instead of "GitHub" if not already correct. Check and fix if needed.
|
||||
Note: a11y.github key text says "GitHub de Killian' DAL-CIN" but links to Gitea — the executor should update the a11y key in fr.json/en.json to say "Gitea" instead of "GitHub" if not already correct. Check and fix if needed.
|
||||
|
||||
2. Create `app/layouts/default.vue` (per D-15):
|
||||
```vue
|
||||
|
||||
@@ -128,7 +128,7 @@ useHead({
|
||||
'@graph': [
|
||||
{
|
||||
'@type': 'Person',
|
||||
name: 'Killian Dalcin',
|
||||
name: 'Killian' DAL-CIN',
|
||||
url: 'https://killiandalcin.fr',
|
||||
jobTitle: 'Developpeur Full Stack Freelance',
|
||||
email: 'contact@killiandalcin.fr',
|
||||
@@ -140,7 +140,7 @@ useHead({
|
||||
},
|
||||
{
|
||||
'@type': 'ProfessionalService',
|
||||
name: 'Killian Dalcin - Developpeur Full Stack',
|
||||
name: 'Killian' DAL-CIN - Developpeur Full Stack',
|
||||
url: 'https://killiandalcin.fr',
|
||||
logo: 'https://killiandalcin.fr/images/logo.webp',
|
||||
priceRange: '$$$',
|
||||
|
||||
@@ -20,7 +20,7 @@ Chaque route rend la bonne langue (FR/EN), le bon thème (dark/light), et les bo
|
||||
- **D-04:** Switch langue = bouton texte simple FR/EN (toggle au clic), pas de dropdown ni drapeaux
|
||||
|
||||
### Footer
|
||||
- **D-05:** Footer minimaliste — une seule bande : copyright © 2026 Killian Dalcin + icônes réseaux sociaux (Gitea, LinkedIn, Fiverr). Note : siteConfig pointe vers gitea.kamisama.ovh, pas GitHub.
|
||||
- **D-05:** Footer minimaliste — une seule bande : copyright © 2026 Killian' DAL-CIN + icônes réseaux sociaux (Gitea, LinkedIn, Fiverr). Note : siteConfig pointe vers gitea.kamisama.ovh, pas GitHub.
|
||||
|
||||
### i18n SSR
|
||||
- **D-06:** Enrichir les fichiers existants fr.json/en.json avec les clés navigation, footer et SEO — un seul fichier par langue
|
||||
@@ -32,7 +32,7 @@ Chaque route rend la bonne langue (FR/EN), le bon thème (dark/light), et les bo
|
||||
|
||||
### SEO & Métadonnées
|
||||
- **D-10:** useSeoMeta() par route — title, description, og:title, og:description uniques
|
||||
- **D-11:** JSON-LD sur la page d'accueil : schéma Person + ProfessionalService pour Killian Dalcin
|
||||
- **D-11:** JSON-LD sur la page d'accueil : schéma Person + ProfessionalService pour Killian' DAL-CIN
|
||||
- **D-12:** og:image statique dans public/ (og-image.png 1200x630) — nuxt-og-image dynamique reporté à Phase 3 suite aux risques Windows identifiés en recherche
|
||||
|
||||
### Sitemap
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
- **D-02:** Mobile nav via UDrawer (Nuxt UI v3) — hamburger opens left-sliding drawer
|
||||
- **D-03:** Header sticky permanent
|
||||
- **D-04:** Language switch = simple text button FR/EN (toggle on click), no dropdown, no flags
|
||||
- **D-05:** Footer minimal — single band: copyright © 2026 Killian Dalcin + social icons (GitHub, LinkedIn, Fiverr)
|
||||
- **D-05:** Footer minimal — single band: copyright © 2026 Killian' DAL-CIN + social icons (GitHub, LinkedIn, Fiverr)
|
||||
- **D-06:** Enrich existing fr.json/en.json with nav, footer, SEO keys — one file per language
|
||||
- **D-07:** @nuxtjs/i18n already configured: strategy prefix_except_default, FR default, browser detection + cookie
|
||||
- **D-08:** Dark mode default for new visitors
|
||||
- **D-09:** Cookie persistence via @nuxtjs/color-mode — no localStorage, no FOUC
|
||||
- **D-10:** useSeoMeta() per route — unique title, description, og:title, og:description
|
||||
- **D-11:** JSON-LD on homepage: Person + ProfessionalService schema for Killian Dalcin
|
||||
- **D-11:** JSON-LD on homepage: Person + ProfessionalService schema for Killian' DAL-CIN
|
||||
- **D-12:** og:image dynamic via nuxt-og-image (advanced from SEOV2-01)
|
||||
- **D-13:** All public pages in sitemap except 404
|
||||
- **D-14:** hreflang FR/EN alternates automatic via @nuxtjs/sitemap + @nuxtjs/i18n integration
|
||||
@@ -240,7 +240,7 @@ useHead({
|
||||
innerHTML: JSON.stringify({
|
||||
'@context': 'https://schema.org',
|
||||
'@type': 'Person',
|
||||
name: 'Killian Dalcin',
|
||||
name: 'Killian' DAL-CIN',
|
||||
url: 'https://killiandalcin.fr',
|
||||
jobTitle: 'Développeur Full Stack Freelance',
|
||||
sameAs: [
|
||||
@@ -326,7 +326,7 @@ useSeoMeta({
|
||||
// nuxt.config.ts
|
||||
site: {
|
||||
url: 'https://killiandalcin.fr',
|
||||
name: 'Killian Dalcin — Développeur Full Stack',
|
||||
name: 'Killian' DAL-CIN — Développeur Full Stack',
|
||||
},
|
||||
```
|
||||
|
||||
@@ -423,7 +423,7 @@ export default defineNuxtConfig({
|
||||
|
||||
site: {
|
||||
url: 'https://killiandalcin.fr',
|
||||
name: 'Killian Dalcin — Développeur Full Stack',
|
||||
name: 'Killian' DAL-CIN — Développeur Full Stack',
|
||||
},
|
||||
|
||||
colorMode: {
|
||||
@@ -549,7 +549,7 @@ useHead({
|
||||
{
|
||||
'@type': 'Person',
|
||||
'@id': 'https://killiandalcin.fr/#person',
|
||||
name: 'Killian Dalcin',
|
||||
name: 'Killian' DAL-CIN',
|
||||
url: 'https://killiandalcin.fr',
|
||||
jobTitle: 'Développeur Full Stack Freelance',
|
||||
email: 'contact@killiandalcin.fr',
|
||||
@@ -561,7 +561,7 @@ useHead({
|
||||
{
|
||||
'@type': 'ProfessionalService',
|
||||
'@id': 'https://killiandalcin.fr/#service',
|
||||
name: 'Killian Dalcin — Développeur Full Stack',
|
||||
name: 'Killian' DAL-CIN — Développeur Full Stack',
|
||||
url: 'https://killiandalcin.fr',
|
||||
provider: { '@id': 'https://killiandalcin.fr/#person' },
|
||||
priceRange: '€€€',
|
||||
|
||||
@@ -145,7 +145,7 @@ Components delivered in this phase only:
|
||||
### AppFooter (COMP-06)
|
||||
- Single band: `py-6 bg-gray-100 dark:bg-gray-800`
|
||||
- Layout: flex row on md+, flex column on mobile — `items-center justify-between gap-4`
|
||||
- Left: copyright text — "© 2026 Killian Dalcin"
|
||||
- Left: copyright text — "© 2026 Killian' DAL-CIN"
|
||||
- Right: social icon links — GitHub (`simple-icons:github`), LinkedIn (`simple-icons:linkedin`), Fiverr (`simple-icons:fiverr`)
|
||||
- Icon size: 20px (w-5 h-5). Hover: accent color with `transition-colors duration-150`
|
||||
- All links open in `_blank` with `rel="noopener noreferrer"` and `aria-label`
|
||||
@@ -175,7 +175,7 @@ Phase 2 scope: header nav labels, footer copyright, mobile drawer, language/them
|
||||
|
||||
| Element | Copy (FR) | Copy (EN) |
|
||||
|---------|-----------|-----------|
|
||||
| Logo aria-label | "Killian Dalcin — Développeur Full Stack — Retour à l'accueil" | "Killian Dalcin — Full Stack Developer — Back to homepage" |
|
||||
| Logo aria-label | "Killian' DAL-CIN — Développeur Full Stack — Retour à l'accueil" | "Killian' DAL-CIN — Full Stack Developer — Back to homepage" |
|
||||
| Nav: Home | "Accueil" | "Home" |
|
||||
| Nav: Projects | "Projets" | "Projects" |
|
||||
| Nav: About | "À propos" | "About" |
|
||||
@@ -188,10 +188,10 @@ Phase 2 scope: header nav labels, footer copyright, mobile drawer, language/them
|
||||
| Language toggle aria-label | "Changer la langue — actuellement Français" | "Change language — currently English" |
|
||||
| Theme toggle aria-label (dark) | "Activer le mode clair" | "Switch to light mode" |
|
||||
| Theme toggle aria-label (light) | "Activer le mode sombre" | "Switch to dark mode" |
|
||||
| Footer copyright | "© 2026 Killian Dalcin" | "© 2026 Killian Dalcin" |
|
||||
| GitHub icon aria-label | "GitHub de Killian Dalcin (nouvelle fenêtre)" | "Killian Dalcin on GitHub (opens in new tab)" |
|
||||
| LinkedIn icon aria-label | "LinkedIn de Killian Dalcin (nouvelle fenêtre)" | "Killian Dalcin on LinkedIn (opens in new tab)" |
|
||||
| Fiverr icon aria-label | "Fiverr de Killian Dalcin (nouvelle fenêtre)" | "Killian Dalcin on Fiverr (opens in new tab)" |
|
||||
| Footer copyright | "© 2026 Killian' DAL-CIN" | "© 2026 Killian' DAL-CIN" |
|
||||
| GitHub icon aria-label | "GitHub de Killian' DAL-CIN (nouvelle fenêtre)" | "Killian' DAL-CIN on GitHub (opens in new tab)" |
|
||||
| LinkedIn icon aria-label | "LinkedIn de Killian' DAL-CIN (nouvelle fenêtre)" | "Killian' DAL-CIN on LinkedIn (opens in new tab)" |
|
||||
| Fiverr icon aria-label | "Fiverr de Killian' DAL-CIN (nouvelle fenêtre)" | "Killian' DAL-CIN on Fiverr (opens in new tab)" |
|
||||
|
||||
Destructive confirmation: none — Phase 2 has no destructive actions.
|
||||
Empty state: none — Phase 2 has no data-driven content.
|
||||
|
||||
@@ -640,7 +640,7 @@ if (!name || !email || !message || message.length > 5000) {
|
||||
|---|-------|---------|-------------|
|
||||
| A1 | `@types/nodemailer` est le package de types correct pour nodemailer 8.x | Standard Stack | Types manquants — TypeScript strict échouera ; vérifier avec `npm view @types/nodemailer` |
|
||||
| A2 | OVH SMTP fonctionne sur ssl0.ovh.net:465 avec auth PLAIN | Pattern 3 | L'envoi échoue — tester avec les vraies credentials avant de fermer la phase |
|
||||
| A3 | Docker est disponible sur la machine de déploiement de Killian | Environment Availability | INFRA-01 bloqué — confirmer avec `docker --version` |
|
||||
| A3 | Docker est disponible sur la machine de déploiement de Killian'| Environment Availability | INFRA-01 bloqué — confirmer avec `docker --version` |
|
||||
| A4 | `UCarousel` expose `emblaApi` directement via `useTemplateRef` dans Nuxt UI v3 | Pattern 1 | Navigation thumbnail cassée — fallback : gérer index manuellement avec `watch` |
|
||||
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Architecture Patterns
|
||||
|
||||
**Project:** Portfolio Killian Dalcin — Nuxt 4 SSR Migration
|
||||
**Project:** Portfolio Killian' DAL-CIN — Nuxt 4 SSR Migration
|
||||
**Researched:** 2026-04-07
|
||||
**Confidence:** HIGH (based on official Nuxt 4 conventions + existing codebase analysis)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Technology Stack
|
||||
|
||||
**Project:** Portfolio Killian Dalcin — Nuxt 4 SSR Migration
|
||||
**Project:** Portfolio Killian' DAL-CIN — Nuxt 4 SSR Migration
|
||||
**Researched:** 2026-04-07
|
||||
**Knowledge cutoff:** August 2025 — all versions marked LOW confidence must be verified against npm before pinning
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Research Summary
|
||||
|
||||
**Project:** Portfolio Killian Dalcin — Vue 3 SPA → Nuxt 4 SSR Migration
|
||||
**Project:** Portfolio Killian' DAL-CIN — Vue 3 SPA → Nuxt 4 SSR Migration
|
||||
**Date:** 2026-04-07
|
||||
**Sources:** STACK.md, FEATURES.md, ARCHITECTURE.md, PITFALLS.md
|
||||
|
||||
|
||||
Reference in New Issue
Block a user