Portfolio Website
π 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
Primair
#2c3e50
Secundair
Secundair
#e74c3c
Accent
Accent
#ecf0f1
Licht
Licht
#27ae60
Succes
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