Een moderne fotoportfolio applicatie gebouwd met React en Node.js.
- Fotogalerij met albums
- Responsive design
- Admin dashboard
- Foto upload met thumbnail generatie
- Pagina beheer met rich text editor
- React
- Material-UI
- React Router
- Axios
- React Quill
- Node.js
- Express
- MySQL
- Multer
- Sharp
- Clone de repository:
git clone https://github.com/[username]/kopfolio.git
cd kopfolio
- Installeer dependencies voor zowel frontend als backend:
# Backend dependencies
cd server
npm install
# Frontend dependencies
cd ../client
npm install
- Maak een
.env
bestand aan in de server directory:
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=kopfolio
JWT_SECRET=your_jwt_secret
- Maak een
.env
bestand aan in de client directory:
VITE_API_URL=http://localhost:3000/api
- Start de development servers:
# Start backend (vanuit server directory)
npm run dev
# Start frontend (vanuit client directory)
npm run dev
Het project kan ook worden uitgevoerd met Docker:
docker-compose up --build
kopfolio/
├── client/ # Frontend React applicatie
│ ├── src/
│ │ ├── components/ # React componenten
│ │ ├── pages/ # Pagina componenten
│ │ ├── utils/ # Utility functies
│ │ └── styles/ # CSS styles
│ └── public/ # Statische bestanden
├── server/ # Backend Node.js applicatie
│ ├── src/
│ │ ├── controllers/
│ │ ├── routes/
│ │ ├── middleware/
│ │ └── utils/
│ └── public/ # Uploads en statische bestanden
└── uploads/ # Foto uploads
└── sample-images/ # Voorbeeldfoto's
De homepage toont foto's uit een speciaal "home album". Dit album wordt automatisch aangemaakt tijdens de installatie. Om dit te configureren:
- Log in als admin gebruiker
- Ga naar het admin dashboard
- Klik op "Albums" in het menu
- Je ziet een album genaamd "Home Album" met een "Home" label
- Klik op het foto-icoon bij dit album om foto's toe te voegen
- Upload nieuwe foto's of selecteer bestaande foto's om ze aan het home album toe te voegen
De geselecteerde foto's zullen nu op de homepage worden getoond in een slideshow.
In de uploads/sample-images
map vind je enkele voorbeeldfoto's die je kunt gebruiken om te starten. Om deze te gebruiken:
- Kopieer de foto's van
uploads/sample-images
naar deuploads/photos
map - De foto's zullen automatisch beschikbaar zijn in het admin dashboard
- Voeg ze toe aan het home album zoals hierboven beschreven
Bij de eerste installatie wordt een standaard configuratie aangemaakt met:
- Een standaard logo in de
uploads/branding
map - Basis site-instellingen zoals titel en ondertitel
- Standaard lettertypen en kleuren
Om deze aan te passen:
- Log in als admin gebruiker
- Ga naar het admin dashboard
- Pas de volgende instellingen aan:
- Upload een eigen logo
- Wijzig de site titel en ondertitel
- Pas lettertypen en kleuren aan
- Configureer de positie van het logo
- Bewerk de voettekst
npm run dev
: Start development servernpm run build
: Bouw voor productienpm run preview
: Preview productie build
npm run dev
: Start development servernpm start
: Start productie server
Pull requests zijn welkom. Voor grote wijzigingen, open eerst een issue om te bespreken wat je wilt veranderen.