Osobní
Doporučené

MikeCode moje osobní portfolio

Něco málo o mém portfoliu, tvorba, technické specifikace, použité technologie.

94 zobrazení
2 líbí se mi
Aktualizováno 15. ledna 2026
#vue3 #nuxt #javascript #typescript #nette #mysql #netlify #tailwind #css

Jak jsem vybudoval moderní portfolio s Nuxt 3: Kompletní technický rozbor

Úvod

Vítejte u technického rozboru mé nejnovější práce - moderního portfolia postaveného na Nuxt 3 s pokročilými optimalizacemi a administračním systémem. Tento projekt představuje moji práci a zkušenosti jak pracuji.

Součástí portfolia je samozřejmě administrace, která je robustní a obsahuje prvky jako je správa blogpostů, projektů, gistů. U postů nechybí ani like systém, který zaznamenává na základě cookies. Vlastní systém pro sledování views, nejčtenějších článků a podobně.

Níže vypisuji body, které tento web obsahuje nebo s nimi pracuje. Api mám postavenou na latest Nette frameworku a to pouze REST API pro ukládání, editaci.

Hlavní cíle projektu

1. Performance First

  • Lighthouse skóre 95+ ve všech kategoriích
  • Core Web Vitals optimalizované pro SEO
  • Rychlé načítání i na mobilních zařízeních

2. Moderní UX/UI

  • Dark/Light mode s automatickou detekcí
  • Plynulé animace a přechody
  • Responsivní design pro všechna zařízení

3. Robustní administrace

  • Kompletní CMS systém
  • Media management s automatickou kompresí
  • Cache strategie pro produkci

Technický Stack

Frontend Framework

{
  "nuxt": "^3.14.159",
  "vue": "latest",
  "@nuxtjs/tailwindcss": "^6.12.2",
  "@vueuse/motion": "^2.2.6"
}

Klíčové knihovny

  • Markdown-it - Pokročilé zpracování obsahu
  • Prism.js - Syntax highlighting pro kód
  • Sharp - Automatická komprese obrázků
  • Vee-validate - Validace formulářů

Deployment & Hosting

  • Static Site Generation (SSG) - Pre-built HTML/CSS/JS soubory
  • Netlify - Statický hosting s automatickými deployments
  • Nette API Backend - Separátní PHP API pro dynamický obsah
  • MAMP - Lokální vývoj s MySQL

Architektura aplikace

Struktura projektu

mikecode/
├── pages/           # Routing (SSR/SSG)
├── components/      # Vue komponenty
├── composables/     # Vue 3 Composition API
├── server/api/      # API endpoints
├── admin/           # Administrační rozhraní
└── public/          # Statické assets

Klíčové stránky

  • Hlavní stránka - Hero section s typewriter efektem
  • Moje práce - Portfolio projektů s filtry
  • Blog - Markdown blog s kategoriemi
  • Gisty - Ukázky/tipy kódu v použití
  • CV - Interaktivní životopis
  • Kontaktujte mě - Kontaktní formulář s validací

Performance Optimalizace

1. Cache Strategie

Implementoval jsem sofistikovaný cache systém s různými TTL podle typu obsahu:

// Cache strategie s různými TTL podle typu obsahu
routeRules: {
  '/blog/**': { headers: { 'cache-control': 'max-age=3600' } },
  '/api/blog/**': { headers: { 'cache-control': 'max-age=1800' } },
  '/api/gists/**': { headers: { 'cache-control': 'max-age=7200' } }
}

2. Image Optimization

  • Sharp - Pro generování OG obrázků a faviconů
  • Podporované formáty - JPG, PNG, GIF, WebP, PDF
  • Lazy loading pro všechny obrázky
  • Responsive images s různými velikostmi

3. Code Splitting

  • Automatické chunking podle stránek
  • Lazy loading komponent
  • Tree shaking pro menší bundle

UX/UI Implementace

Dark/Light Mode

<script setup>
const colorMode = useColorMode()
colorMode.preference = 'system'
</script>

Animace a přechody

  • VueUse Motion pro plynulé animace
  • CSS transitions pro hover efekty
  • Intersection Observer pro scroll animace

Responsivní design

  • Mobile-first přístup
  • Tailwind CSS pro konzistentní design
  • Flexbox/Grid pro moderní layout

Analytics a Tracking

Custom Events

  • Contact form submissions
  • Project views
  • Blog views
  • Gist views
  • Gist likes

Administrační systém

Kompletní CMS

  • Blog management s markdown editorem
  • Media library s drag & drop uploadem
  • Project management s kategoriemi
  • User management s role-based access

Media Management

Cache Invalidation

Deployment a DevOps

CI/CD Pipeline

  • GitHub Actions pro automatické build a deployment
  • Netlify pro statický hosting

Environment Management

  • Development - MAMP s lokální databází
  • Staging - Netlify preview deployments
  • Production - Netlify + Nette API backend

Výkonnostní metriky

Lighthouse Results

  • Performance: 98/100
  • Accessibility: 100/100
  • Best Practices: 100/100
  • SEO: 100/100

Core Web Vitals

  • LCP: < 1.5s
  • FID: < 100ms
  • CLS: < 0.1

Bezpečnost

Implementované ochrany

  • CSRF protection na kontaktním formuláři
  • Rate limiting na API endpointech
  • Input sanitization pro všechny vstupy
  • HTTPS enforcement na všech stránkách

GDPR Compliance

  • Cookie consent s granular controls
  • Analytics anonymization
  • Data retention policies

Klíčové výhody

1. Developer Experience

  • Hot Module Replacement pro rychlý vývoj
  • TypeScript pro type safety
  • ESLint + Prettier pro konzistentní kód

2. User Experience

  • Instant navigation díky SPA
  • Offline support s service worker
  • Progressive Web App features

3. SEO Optimalizace

  • Server-side rendering pro crawlers
  • Structured data pro rich snippets
  • Sitemap.xml automatické generování

Budoucí plány

Krátkodobé (1-3 měsíce)

  • [ ] Multi-language support (EN/CZ)
  • [ ] Advanced analytics dashboard

Dlouhodobé (6-12 měsíců)

  • [ ] AI-powered content suggestions
  • [ ] Mobile app s podporou VUE

Získané poznatky

Co fungovalo skvěle

  1. Nuxt 3 - Výborná developer experience
  2. Tailwind CSS - Rychlý prototyping
  3. Composition API - Lepší code organization
  4. Static Site Generation - Rychlé načítání a SEO optimalizace

Výzvy a řešení

  1. Cache management - Implementoval jsem automatickou invalidaci
  2. Image optimization - Sharp pro OG obrázky a favicony
  3. SEO - SSR + meta tags = perfektní výsledky

Závěr

Tento projekt představuje moderní přístup k tvorbě portfolia. Kombinuje výkonnost, UX a funkčnost v jednom celku. Technologie jako Nuxt 3, Tailwind CSS a Static Site Generation umožnily vytvořit něco, co by před pár lety vyžadovalo mnohem více času a úsilí.

Klíčové metriky:

  • 98/100 Lighthouse Performance
  • 100% Accessibility Score
  • Fully responsive design
  • Complete CMS system
  • < 1s load times

Pokud vás zajímá více technických detailů nebo máte otázky k implementaci, neváhejte mě kontaktovat!

Technologie použité v projektu:

  • Nuxt 3, Vue 3, TypeScript
  • Tailwind CSS, VueUse
  • Sharp, Markdown-it
  • Netlify, Nette API
  • MySQL, MAMP

Tento článek je součástí mé série o moderním web developmentu. Sledujte můj blog pro další technické články a tutoriály!

~7 min čtení