Commit Graph

170 Commits

Author SHA1 Message Date
kayjaydee 468661e5ec docs: create milestone v1.1 roadmap (4 phases, 13 requirements) 2026-04-21 11:11:53 +02:00
kayjaydee a512d3a451 docs: start milestone v1.1 — SEO Hytale, Autorité & Contenu 2026-04-21 11:09:29 +02:00
kayjaydee df770e5dc8 docs: sync GSD tracking — milestone M1 complete, all 4 phases shipped to prod 2026-04-21 11:00:16 +02:00
kayjaydee 14721487e3 docs: sync GSD tracking — phases 1 & 2 complete (retroactive audit 2026-04-21) 2026-04-21 10:59:28 +02:00
kayjaydee ed51412d5a feat(contact): nouvelle template email terminal-style 2026-04-17 09:28:54 +02:00
kayjaydee 0a18b29566 feat: nouvelle template email 2026-04-17 09:25:45 +02:00
kayjaydee 3a09d28bba chore: sync pnpm-lock.yaml 2026-04-17 09:08:05 +02:00
kayjaydee 85fe859612 feat(hytale): implement Hytale plugin development page and related components
- Added a new `/hytale` page with sections for hero, services, and pricing.
- Updated existing components to support Hytale-specific content and i18n.
- Modified site configuration and state to reflect the new focus on Hytale plugin development.
- Enhanced testimonials section to feature relevant client feedback.
- Adjusted navigation to include a link to the new Hytale page.
2026-04-11 04:19:27 +02:00
kayjaydee 4fc78bd414 docs(02): create phase 2 content plans 2026-04-11 03:58:21 +02:00
kayjaydee 308f1a3179 docs(02): UI design contract 2026-04-11 03:48:14 +02:00
kayjaydee d7afd0fedc docs(02): capture phase context 2026-04-11 03:42:43 +02:00
kayjaydee e16aa67343 docs(01): complete phase 1 cleanup & fixes 2026-04-10 19:20:32 +02:00
kayjaydee ca3b60b0ad chore: update Dockerfile for pnpm, modify package.json dependencies, and implement rate limiting
- Switched from npm to pnpm for dependency management in Dockerfile, improving build efficiency.
- Updated Vue and Vue Router versions in package.json for better compatibility.
- Changed placeholder URLs in site.ts to actual Fiverr links and adjusted review count.
- Removed obsolete sitemap.xml file to streamline the project.
- Added a new rate limiting plugin to manage API request limits for the contact endpoint.
2026-04-10 19:19:36 +02:00
kayjaydee c859a9feb8 docs(01): plan phase 1 cleanup & fixes 2026-04-10 18:56:12 +02:00
kayjaydee 2edb8b5ff3 docs(01): create phase 1 cleanup & fixes plans 2026-04-10 18:55:18 +02:00
kayjaydee ec6326d2bf docs: create requirements, roadmap, and state 2026-04-10 18:51:11 +02:00
kayjaydee 077b5a911d docs: complete project research 2026-04-10 18:08:28 +02:00
kayjaydee 985e29a743 docs: initialize project 2026-04-10 17:52:39 +02:00
kayjaydee fd17ac3915 chore: add project config 2026-04-10 17:51:57 +02:00
kayjaydee 1ec6fbcce4 docs: map existing codebase 2026-04-10 17:50:10 +02:00
kayjaydee 6f3b474148 chore: remove obsolete planning files for Nuxt 4 migration
- Deleted several planning documents including config.json, PROJECT.md, REQUIREMENTS.md, ROADMAP.md, STATE.md, and various phase plans.
- These files were no longer relevant to the current project structure and development practices, streamlining the codebase.
2026-04-10 17:37:59 +02:00
kayjaydee 137041b0a3 chore: remove outdated planning documents from codebase
- Deleted several planning documents including ARCHITECTURE.md, CONCERNS.md, CONVENTIONS.md, INTEGRATIONS.md, STACK.md, STRUCTURE.md, and TESTING.md.
- These files were no longer relevant to the current project structure and development practices.
2026-04-08 20:02:41 +02:00
kayjaydee 6b828aff67 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.
2026-04-08 19:54:46 +02:00
kayjaydee 355df8dbbe feat: redesign entire portfolio with bold modern dark theme
Complete visual overhaul of all pages and components with generous spacing,
bold typography, hover effects, gradient accents, and section differentiation.
Hero features animated terminal mockup and gradient text. Cards use hover
transforms with brand-colored shadows. CTAs use gradient backgrounds.
All i18n keys, data structures, SEO meta, and composable logic preserved.
2026-04-08 19:08:55 +02:00
kayjaydee 578a0afa1a fix: rewrite AppHeader — replace UDrawer with USlideover, clean design
UDrawer (vaul-vue bottom-sheet) rendered content in DOM even when closed,
causing mobile nav to show on desktop. Replaced with USlideover (proper
sidebar panel). Also: backdrop-blur header, UButton for actions, Lucide
icons, brand color active states.
2026-04-08 18:55:58 +02:00
kayjaydee bd7e02f6ce fix: correct i18n key paths for projects, featured, testimonials
- useProjects: projects.${id}.* → projectData.${id}.* (matches locale structure)
- FeaturedProjectsSection: home.projects.* → home.featuredProjects.*
- TestimonialsSection: home.testimonials.* → testimonials.*
2026-04-08 18:53:49 +02:00
kayjaydee 1cdddb7cf4 fix: use array syntax for components config with pathPrefix
Nuxt requires array syntax when configuring pathPrefix per directory.
Object syntax { pathPrefix: false } doesn't register component dirs.
2026-04-08 18:48:19 +02:00
kayjaydee ef9ceeae17 fix: add pathPrefix: false to components config for auto-import
Nuxt prefixes components in subdirectories (layout/AppHeader → LayoutAppHeader).
Setting pathPrefix: false allows using <AppHeader>, <HeroSection>, etc. directly.
2026-04-08 18:47:05 +02:00
kayjaydee 5565940d3c docs(03-04): complete Dockerfile SSR + legacy cleanup plan 2026-04-08 18:41:40 +02:00
kayjaydee eebcb446e8 chore(03-04): remove legacy SPA files and verify GA4 config
- Delete entire src/ directory (160+ legacy Vue SPA files)
- Delete old/, nginx.conf, index.html, eslint.config.ts, env.d.ts
- GA4 nuxt-gtag already correctly configured (production-only, runtimeConfig)
- No formation.vue exists, /formation returns 404 naturally
2026-04-08 18:40:53 +02:00
kayjaydee c4a7083f79 feat(03-04): Dockerfile SSR multi-stage + docker-compose Traefik port 3000
- Rewrite Dockerfile: node:22-alpine build + runtime, copy .output/, node server
- Add .dockerignore excluding node_modules, .nuxt, .output, src, .git, .planning
- Update docker-compose loadbalancer port from 80 to 3000
- Add SMTP and GA4 environment variables to docker-compose
2026-04-08 18:40:23 +02:00
kayjaydee 8adcd19dbe docs(03-03): complete About/Contact/Fiverr/Error pages plan 2026-04-08 18:39:22 +02:00
kayjaydee 4f5a8a821f docs(03-02): complete main pages plan
- SUMMARY.md for landing + projects + detail pages
- STATE.md updated to plan 2/3 phase 3
- ROADMAP.md progress updated
- Requirements PAGE-01, PAGE-02, PAGE-03 marked complete
2026-04-08 18:39:09 +02:00
kayjaydee 11ace3dca4 feat(03-03): create error.vue (404 page) with i18n keys
- error.vue in app/ with statusCode display, i18n message, clearError redirect
- Added error.notFound, error.generic, error.backHome keys to fr.json and en.json
2026-04-08 18:38:35 +02:00
kayjaydee 8443f590b7 feat(03-03): build Fiverr page with hero, service cards, FAQ accordion, and CTA
- Hero with stats (available services count, rating) and profile CTA
- Service cards grid with NuxtImg, price/status badges, order buttons
- FAQSection with UAccordion using homeFAQs data
- Final CTA section linking to Fiverr profile
2026-04-08 18:38:01 +02:00
kayjaydee 72fc84e2ef feat(03-02): project detail page with dynamic route and gallery
- Dynamic route /project/[id] with findById composable
- 404 via createError if project not found
- Hero grid: image + info + CTA buttons (demo, source, custom)
- About section with features list (checkmarks)
- Technologies section with TechBadge
- Gallery thumbnails with zoom overlay, opens ProjectGallery modal
- Sidebar: project info card + related projects
- Responsive 2-col layout (main + sidebar)
2026-04-08 18:37:58 +02:00
kayjaydee bc7cdacf80 feat(03-03): build About page with tech stack badges and Contact page with form
- About: hero bio, 5 tech categories with TechBadge (UCard grid), approach cards, CTA
- Contact: hero stats, ContactForm component, contact info from siteConfig, social links, FAQ cards
2026-04-08 18:37:34 +02:00
kayjaydee bd78920ddf feat(03-02): projects page with search and category filters
- Text search filtering by title, description, technologies
- Category filter buttons (UButton solid/soft variants)
- ProjectCard grid responsive 1/2/3 columns
- Empty state with reset button
- Stats: total projects, featured, categories
2026-04-08 18:37:17 +02:00
kayjaydee 59495cabf3 feat(03-02): landing page with 6 sections
- HeroSection, FeaturedProjectsSection, ServicesSection
- TestimonialsSection, FAQSection with homeFAQs, CTASection
- Preserved useSeoMeta and JSON-LD from Phase 2 stub
2026-04-08 18:36:49 +02:00
kayjaydee 3f5d432a39 docs(03-01): complete shared components plan
- SUMMARY.md with 3 tasks, 17 files, 239s duration
- STATE.md advanced to phase 3 plan 1
- ROADMAP.md updated with plan progress
- COMP-01 to COMP-04 marked complete
2026-04-08 18:35:37 +02:00
kayjaydee 9a1be02c6c feat(03-01): create ContactForm with Zod validation and nodemailer SMTP server route
- ContactForm.vue: UForm + Zod schema (name/email/message) + useToast feedback
- server/api/contact.post.ts: nodemailer SMTP with server-side validation + HTML escaping
- SMTP credentials in private runtimeConfig (T-03-03)
- HTML escaping prevents XSS in email body (T-03-02)
2026-04-08 18:34:38 +02:00
kayjaydee 5502364e77 feat(03-01): create 9 shared components for landing sections and project display
- HeroSection: title + subtitle + 3 CTA UButtons
- FeaturedProjectsSection: 3 featured projects via useProjects()
- ServicesSection: 4 service cards with UCard + UIcon
- TestimonialsSection: UCard per testimonial with ratings and stats
- FAQSection: UAccordion with i18n-resolved items
- CTASection: final CTA with 2 UButtons
- ProjectCard: NuxtLink + NuxtImg + UBadge + schema.org microdata
- TechBadge: Technology lookup with NuxtImg + UBadge level
- ProjectGallery: UModal fullscreen + UCarousel + thumbnails + keyboard nav
2026-04-08 18:34:03 +02:00
kayjaydee 222fa069fd feat(03-01): install deps, migrate site config, add SMTP runtimeConfig, wrap UApp
- Install nodemailer, zod, @types/nodemailer
- Create app/data/site.ts with migrated siteConfig from src/config/site.ts
- Add SiteConfig, ContactInfo, SocialLink, FiverrService, FiverrConfig to shared/types
- Add smtpHost/smtpUser/smtpPass/smtpTo to private runtimeConfig
- Wrap app.vue with UApp for useToast() support
2026-04-08 18:32:24 +02:00
kayjaydee b5420b3902 docs(03): fix plan blockers — remove formation completely, cleanup legacy
- Remove PAGE-07 from requirements (formation deleted per D-19)
- No redirect, /formation returns 404 naturally
- Plan 04 now includes full legacy src/ cleanup
- Update success criteria: 7 routes, SMTP instead of EmailJS
2026-04-08 18:29:39 +02:00
kayjaydee e5e14ef362 docs(03): create phase 3 plans — pages, components, Docker SSR
4 plans across 3 waves: shared components + deps (wave 1),
pages landing/projects/detail + about/contact/fiverr/404 (wave 2),
Dockerfile SSR + GA4 + docker-compose (wave 3).
2026-04-08 18:25:28 +02:00
kayjaydee 049b1f0f81 docs(03): research phase Pages & Ship domain 2026-04-08 18:19:06 +02:00
kayjaydee e6c6295aaa docs(03): update context — SMTP direct OVH, remove formation from scope
- Contact form uses server-side nodemailer via Nuxt API route (not EmailJS)
- Formation page removed from Phase 3 scope (was SaaS pricing, not portfolio)
2026-04-08 17:26:02 +02:00
kayjaydee 9e0149d49d feat: remove formation/pricing page and all related content
Formation was a SaaS pricing page unrelated to the portfolio.
Removed: page, nav link, locale keys (nav.formation, seo.formation,
pricing.*) in both FR and EN, legacy source files.
2026-04-08 17:24:54 +02:00
kayjaydee 0697dbcfe6 feat(docker): add docker-compose configuration for portfolio service
- Introduced a new docker-compose.yml file to define the portfolio service.
- Configured Traefik routing with TLS settings and redirect middleware for non-www to www.
- Set up environment variables and network configuration for the service.
2026-04-08 16:48:47 +02:00
kayjaydee 3c40051ca9 docs(03): create phase 3 context from discussion
Decisions: 6-section landing, UModal+UCarousel gallery with thumbnails,
3-field contact form with EmailJS+Zod, SSR Docker with runtimeConfig.
2026-04-08 16:48:21 +02:00