jp-visser.nl profielpagina
https://jp-visser.vercel.app
- Add English translations to cv-data.ts with getCvData(lang) helper - Create app/[lang]/ routing with static generation for nl and en - Add language switcher in nav (NL / EN toggle) - Add middleware for Accept-Language auto-redirect on root path - Root layout reads x-lang header to set <html lang> correctly - All components accept lang prop and render translated content Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| app | ||
| components | ||
| lib | ||
| public/images | ||
| .eslintrc.json | ||
| .gitignore | ||
| CLAUDE.md | ||
| middleware.ts | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.mjs | ||
| README.md | ||
| tailwind.config.ts | ||
| tsconfig.json | ||
jp-visser.nl
Persoonlijke website van Janpeter Visser — Software Engineer.
Lokaal draaien
npm install
npm run dev
Open http://localhost:3000.
Deployen naar Vercel
1. Push naar GitHub
git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin https://github.com/JOUW_USERNAME/jp-visser.git
git push -u origin main
2. Koppel aan Vercel
- Ga naar vercel.com/new
- Importeer je GitHub repository
- Klik op Deploy — Vercel detecteert Next.js automatisch
3. Domein instellen
- Ga naar je project in Vercel → Settings → Domains
- Voeg
jp-visser.nltoe - Bij je domeinregistrar, stel in:
- A-record:
@→76.76.21.21 - CNAME:
www→cname.vercel-dns.com
- A-record:
DNS-wijzigingen kunnen tot 48 uur duren, maar zijn meestal binnen een uur actief.
Apps toevoegen
Om apps toe te voegen aan de portfolio:
Optie A — Als aparte Vercel projecten (subdomein):
- Deploy een app als apart project op Vercel
- Voeg een subdomein toe: bijv.
app1.jp-visser.nl
Optie B — Als routes binnen dit project:
- Maak een nieuwe pagina aan in
app/apps/naam/page.tsx - De app is dan bereikbaar op
jp-visser.nl/apps/naam
Pas daarna components/apps.tsx aan om de links naar je apps te tonen.
Projectstructuur
jp-visser/
├── app/
│ ├── globals.css # Global styles + Tailwind
│ ├── layout.tsx # Root layout met fonts & metadata
│ └── page.tsx # Homepage
├── components/
│ ├── nav.tsx # Navigatie (sticky)
│ ├── hero.tsx # Hero sectie met portret
│ ├── experience.tsx # Werkervaring
│ ├── skills.tsx # Skills & tools
│ ├── apps.tsx # Apps portfolio
│ ├── contact.tsx # Contact info
│ ├── footer.tsx # Footer
│ └── fade-in.tsx # Scroll-animatie component
├── lib/
│ └── cv-data.ts # Alle CV data
├── public/
│ └── images/
│ └── portrait.jpg # Portretfoto
└── package.json
Tech stack
- Next.js 15 (App Router)
- TypeScript
- Tailwind CSS
- Hosted op Vercel