Project 3 Na Hoofdstuk 8

Portfolio Website

Eindproject β€’ Combineer alle geleerde vaardigheden

πŸ† Het Eindproject

Bouw een complete portfolio website die je webontwikkeling vaardigheden toont. Dit project combineert alles wat je geleerd hebt: HTML, CSS en JavaScript.

🎯 Project Doel

CreΓ«er een professioneel portfolio dat je kunt gebruiken om je werk te tonen aan potentiΓ«le werkgevers, klanten of scholen!

βœ… Vereisten

Pagina's (4 verplicht)

🏠 Home

Hero sectie, korte intro, uitgelicht werk

πŸ‘€ Over

Volledige bio, vaardigheden, ervaring

πŸ’Ό Projecten

Portfolio van je werk

πŸ“§ Contact

Contact formulier, sociale links

Technische Vereisten

  • Semantische HTML5 elementen
  • Extern CSS bestand
  • Responsive design (mobielvriendelijk)
  • JavaScript voor interactiviteit (minstens 2 functies)
  • Consistente navigatie op alle pagina's

JavaScript Functies (kies er minstens 2)

  • Mobiele navigatie toggle
  • Contact formulier validatie
  • Vloeiend scrollen
  • Scroll animaties
  • Donker/Licht modus toggle
  • Afbeelding gallery lightbox

πŸ“ Bestandsstructuur

portfolio/
β”œβ”€β”€ index.html
β”œβ”€β”€ about.html
β”œβ”€β”€ projects.html
β”œβ”€β”€ contact.html
β”œβ”€β”€ css/
β”‚   └── style.css
β”œβ”€β”€ js/
β”‚   └── main.js
└── images/
    └── (schermafdrukken, avatar)

🎨 Voorgesteld Kleurenschema

#3498db
Primair
#2c3e50
Secundair
#e74c3c
Accent
#ecf0f1
Licht
#27ae60
Succes

πŸ”§ Mobiele Navigatie Toggle (Verplicht)

HTML
<button class="menu-toggle">☰</button>
<nav class="nav-links">
    <a href="index.html">Home</a>
    <a href="about.html">Over</a>
    <a href="projects.html">Projecten</a>
    <a href="contact.html">Contact</a>
</nav>
JavaScript
const menuToggle = document.querySelector('.menu-toggle');
const navLinks = document.querySelector('.nav-links');

menuToggle.addEventListener('click', () => {
    navLinks.classList.toggle('active');
});
CSS
.menu-toggle {
    display: none;
}

@media (max-width: 768px) {
    .menu-toggle {
        display: block;
    }
    
    .nav-links {
        display: none;
        position: absolute;
        top: 60px;
        left: 0;
        right: 0;
        background: #2c3e50;
        flex-direction: column;
    }
    
    .nav-links.active {
        display: flex;
    }
}

πŸ“ Contact Formulier Validatie

JavaScript
const formulier = document.getElementById('contact-formulier');

formulier.addEventListener('submit', function(e) {
    e.preventDefault();
    
    const naam = document.getElementById('naam').value;
    const email = document.getElementById('email').value;
    
    if (naam === '' || email === '') {
        alert('Vul alle verplichte velden in');
        return;
    }
    
    if (!email.includes('@')) {
        alert('Voer een geldig email adres in');
        return;
    }
    
    alert('Bericht succesvol verzonden!');
    formulier.reset();
});

πŸ—οΈ Project Checklist

Voor Indienen
  • ☐ Alle 4 pagina's gemaakt
  • ☐ Extern CSS bestand met alle stijlen
  • ☐ Extern JavaScript bestand
  • ☐ Responsive design (test op mobiel!)
  • ☐ Navigatie werkt op alle pagina's
  • ☐ Contact formulier heeft validatie
  • ☐ Project kaarten met hover effecten
  • ☐ Professioneel, consistent design
  • ☐ Geen placeholder/gebroken content
  • ☐ Afbeeldingen hebben alt tekst

πŸŽ‰ Gefeliciteerd!

Je hebt alle cursus projecten voltooid!

← Terug naar Cursus Home