Skip to content

juliettecougnoux/juliettecougnoux.dev

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ juliettecougnoux.dev

Personal portfolio of Juliette Cougnoux - Backend Engineer & Web Maker

Nuxt Vue.js TypeScript Tailwind CSS

🌐 juliettecougnoux.dev

✨ Features

  • 🌍 Multilingual site (French/English) with @nuxtjs/i18n
  • 🎨 Modern design with smooth animations and transitions
  • 🎨 Tailwind CSS v4 with custom color palette
  • πŸ“± Responsive design optimized for all devices
  • ⚑ Optimized performance with Nuxt 4
  • πŸ” SEO friendly with sitemap and meta tags
  • β™Ώ Accessibility considered

Installation

npm install

Development

Start the development server on http://localhost:3000:

npm run dev

Production

Build for Static Hosting (Hostinger)

Generate the static site:

npm run generate

This will create a .output/public directory with all static files ready to be deployed.

Preview Production Build

Preview the production build locally:

npm run preview

Deploy to Hostinger

  1. Run npm run generate
  2. Upload the contents of .output/public to your Hostinger hosting via FTP or File Manager
  3. Make sure to upload to the public_html directory (or your domain's root directory)

πŸ› οΈ Tech Stack

Frontend

  • Nuxt 4.1.2 - Vue.js framework with SSR
  • Vue.js 3.5 - Progressive JavaScript framework
  • TypeScript 5.9 - Static typing
  • Tailwind CSS v4 - Utility-first CSS framework

Internationalization

  • @nuxtjs/i18n - Multilingual management (FR/EN)

Optimization

  • @nuxt/image - Automatic image optimization
  • SEO - XML Sitemap, meta tags, Open Graph
  • Performance - Lazy loading, code splitting

πŸ“‚ Project Structure

juliettecougnoux.dev/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ components/      # Reusable Vue components (Header, etc.)
β”‚   β”œβ”€β”€ pages/          # Website pages (automatic routing)
β”‚   β”‚   β”œβ”€β”€ index.vue   # Homepage with presentation and projects
β”‚   β”‚   β”œβ”€β”€ cv.vue      # Resume with experience, education, skills
β”‚   β”‚   └── contact.vue # Contact information
β”‚   └── assets/
β”‚       └── css/        # Global styles and animations
β”œβ”€β”€ locales/
β”‚   β”œβ”€β”€ fr.json         # French translations
β”‚   β”œβ”€β”€ en.json         # English translations
β”‚   β”œβ”€β”€ projects.fr.js  # Projects data (FR)
β”‚   β”œβ”€β”€ projects.en.js  # Projects data (EN)
β”‚   β”œβ”€β”€ cv.fr.js        # Resume data (FR)
β”‚   └── cv.en.js        # Resume data (EN)
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ projects/       # Project images
β”‚   β”œβ”€β”€ robots.txt      # Robots configuration
β”‚   └── sitemap.xml     # Sitemap for SEO
└── nuxt.config.ts      # Nuxt configuration

🎨 Pages

🏠 Home (/)

  • Personal presentation with photo
  • "About me" section
  • Professional background
  • WordPress projects portfolio
  • Ongoing projects (React Native)

πŸ“„ Resume (/cv)

  • Professional experience with timeline
  • Education
  • Technical skills
  • Company links

πŸ“§ Contact (/contact)

  • Email, phone
  • LinkedIn, GitHub, GitLab
  • Clickable links with animations

🎨 Customization

Color Palette

Custom colors are defined in app/assets/css/tailwind.css:

--color-primary-purple: #9e99ff /* Soft purple */ --color-primary-green: #aaff99
  /* Peps green */ --color-primary-peach: #ffbe99 /* Peach fuzz */
  --color-primary-brown: #aa9c93 /* Natural brown */
  --color-primary-dark: #5b5980 /* Dark purple */;

Translations

Translations are managed through separate files:

  • UI: locales/fr.json and locales/en.json
  • Projects: locales/projects.fr.js and locales/projects.en.js
  • Resume: locales/cv.fr.js and locales/cv.en.js

πŸš€ Deployment

The site is configured for static generation and deployed on:

  • Hostinger (current hosting)
  • Can also be deployed on: Vercel, Netlify, Cloudflare Pages
  • Any static hosting provider (the site is fully static after npm run generate)

πŸ“ˆ SEO & Performance

  • βœ… Fully static generation (SSG) for optimal performance
  • βœ… Generated XML sitemap
  • βœ… Optimized meta tags
  • βœ… Open Graph for social networks
  • βœ… Optimized images (WebP)
  • βœ… Lazy loading
  • βœ… Automatic code splitting
  • βœ… Pre-rendered pages for instant loading
  • βœ… Lighthouse score > 90

πŸ‘€ Author

Juliette Cougnoux

πŸ“ License

Β© 2025 Juliette Cougnoux. All rights reserved.

About

Personal portfolio built with Nuxt 4, Vue.js 3, and Tailwind CSS v4. Multilingual (FR/EN), SEO optimized, static generation ready for Hostinger deployment.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors