8 Commits

Author SHA1 Message Date
Alvin-Zilverstand
678282520a w 2026-03-24 14:08:55 +01:00
Alvin-Zilverstand
824c92770b update 2026-03-24 14:03:27 +01:00
Alvin-Zilverstand
3d7a98965e s 2026-03-24 11:41:08 +01:00
Alvin
8ae8b4a9d8 Merge pull request #3 from Alvin-Zilverstand/snyk-fix-a142f8b0fc8fd6400141ad7ae3949b93
[Snyk] Security upgrade react-router-dom from 7.9.6 to 7.12.0
2026-03-23 10:44:15 +01:00
snyk-bot
7dcd9a39ff fix: client/package.json & client/package-lock.json to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-REACTROUTER-14908531
- https://snyk.io/vuln/SNYK-JS-REACTROUTER-14908429
- https://snyk.io/vuln/SNYK-JS-REACTROUTER-14908293
2026-03-23 09:41:11 +00:00
Alvin
2aa3fc60c7 Merge pull request #2 from Alvin-Zilverstand/snyk-fix-ff8a48878ffeff2c9f268dc6bb0da54d
[Snyk] Fix for 2 vulnerabilities
2026-03-18 14:20:50 +01:00
snyk-bot
17bdc2c823 fix: client/package.json & client/package-lock.json to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-AXIOS-15252993
- https://snyk.io/vuln/SNYK-JS-REACTROUTER-14908286
2026-03-18 13:19:18 +00:00
snyk-bot
6b66bcec90 fix: client/package.json & client/package-lock.json to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-AXIOS-15252993
- https://snyk.io/vuln/SNYK-JS-REACTROUTER-14908286
2026-03-18 13:06:01 +00:00
5 changed files with 1686 additions and 1254 deletions

View File

@@ -0,0 +1,34 @@
**Vragenlijst Challenge 11**
1. **Wat is het hoofddoel van uw website?**\
(Informatie verschaffen, producten verkopen, contact genereren, enz.)\
Ik wil beter kunnen communiceren met mijn klanten. De website zelf is best goed, maar ik mis veel informatie omdat ik mijn klantencontacten nergens kan vastleggen. Wat ik wil is een module binnen de website waarin ik elk contact dat ik met de klant heb kan vastleggen.
1. **Wie is uw belangrijkste doelgroep?**\
(Leeftijd, beroep, interesses, technische vaardigheden, enz.)\
Mijn klanten zijn over het algemeen mannen tussen 18 en 29 jaar die van autos houden en graag wat getuned willen hebben. Snelle, stoere jongens types.
1. **Wat vindt u momenteel goed aan uw bestaande website, en wat stoort u?**\
Houden wat er is, alleen aanvullen met een CRM.
-----
4. **Hoe zou u de gewenste uitstraling van de website omschrijven?**\
(Bijv. modern, zakelijk, creatief, vriendelijk, minimalistisch.)\
Stoer en snel!!, Gericht op jonge mannen.
4. **Zijn er voorbeelden van websites die u aanspreken?**\
(Wat spreekt u daarin aan: kleuren, lay-out, structuur?)\
De huidige website is qua layout prima.
4. **Welke kleuren, lettertypes en logos wilt u gebruiken om uw merkidentiteit te behouden?**\
Behoud ook in de nieuwe module de huidige stijl en kleuren.
-----
7. **Welke functies moet de nieuwe website bevatten?**\
(Bijv. contactformulier, blog, webshop, agenda, zoekfunctie.)\
Ik moet kunnen inloggen. Daarna een klant kunnen zoeken en kiezen. Daarna de gespreksgeschiedenis kunnen inzien van die klant met mij. Vervolgens een nieuw item als gesprekscontact kunnen toevoegen en evt. de oude wijzigen.
7. **Wilt u de website zelf kunnen aanpassen of beheren?**\
(Zo ja: heeft u ervaring met een bepaald CMS, zoals WordPress?)\
Zoals hierboven beschreven. Het moet zelf gecodeerd zijn. Geen wordpress.
-----
9. **Zijn er prestatie-eisen waaraan de site moet voldoen?**\
(Bijv. laadtijd, uptime, mobiele prestaties.)\
Uiteraard zo snel als mogelijk.
9. **Heeft u voorkeur voor een bepaalde hostingprovider of heeft u al een bestaande hostingomgeving?**\
Er is een bestaande provider. Vraag je docent voor de inloggegevens.

2642
client/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -7,16 +7,32 @@
"@emotion/styled": "^11.14.0", "@emotion/styled": "^11.14.0",
"@mui/icons-material": "^7.1.1", "@mui/icons-material": "^7.1.1",
"@mui/material": "^7.1.1", "@mui/material": "^7.1.1",
"@testing-library/dom": "^10.4.0", "@testing-library/dom": "^10.4.1",
"@testing-library/jest-dom": "^6.6.3", "@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.0", "@testing-library/react": "^16.3.2",
"@testing-library/user-event": "^13.5.0", "@testing-library/user-event": "^14.6.1",
"axios": "^1.12.0", "axios": "^1.13.6",
"react": "^19.1.0", "react": "^19.2.4",
"react-dom": "^19.1.0", "react-dom": "^19.2.4",
"react-router-dom": "^7.9.0", "react-router-dom": "^7.12.0",
"react-scripts": "5.0.1", "react-scripts": "5.0.1",
"web-vitals": "^2.1.4" "web-vitals": "^5.1.0"
},
"overrides": {
"nth-check": "^2.1.1",
"postcss": "^8.4.31",
"serialize-javascript": "^7.0.4",
"underscore": "^1.13.8",
"webpack-dev-server": "^5.2.3",
"flatted": "^3.4.2",
"svgo": "^3.3.2",
"form-data": "^4.0.5",
"glob": "^11.0.0",
"minimatch": "^9.0.5",
"qs": "^6.15.0",
"lodash": "^4.17.21",
"@tootallnate/once": "^3.0.1",
"eslint": "^8.57.1"
}, },
"scripts": { "scripts": {
"start": "react-scripts start", "start": "react-scripts start",

View File

@@ -0,0 +1,68 @@
![](Aspose.Words.168ad1cb-cb76-4af9-aba4-eba552ecdde2.001.png)
**Sjabloon**
**Behoefteanalyse**
Project :
Opdrachtgever :
Auteur :
Datum :
Versie : 2.0
# **Inhoud**
[**1** **Opdracht 2****](#_toc392408117)**
[**2** **Aanleiding 2****](#_toc392408118)
[**3** **Knelpunten 2****](#_toc392408119)
[**4** **Eisen/Wensen 2****](#_toc392408120)
[4.1 Must haves 2](#_toc392408121)
[4.2 Should haves 2](#_toc392408122)
[4.3 Could haves 2](#_toc392408123)
[4.4 Wont haves 2](#_toc392408124)
[**5** **Uit te voeren werkzaamheden 2****](#_toc392408125)
1. # <a name="_toc392408117"></a>**Opdracht**
Website maken voor een bedrijf om een uitleg te geven over waar het bedrijf voor staat en wat het doel is.
1. # <a name="_toc392408118"></a>**Aanleiding**
Beschrijf hier redenen die aanleiding waren voor het geven van de opdracht voor het opstellen van deze behoefteanalyse.
1. # <a name="_toc392408119"></a>**Knelpunten**
Beschrijf hier de problemen die nu bestaan in de huidige manier van werken.
1. # <a name="_toc392408120"></a>**Eisen/Wensen**
Geef hier een overzicht van de eisen en wensen. Gebruik hiervoor de MoSCoW-onderverdeling.
1. # <a name="_toc387987252"></a><a name="_toc392408121"></a>Must haves
Informatie over verschillende autos met de mogelijkheden die er zijn om de auto te tunen.
1. # <a name="_toc387987253"></a><a name="_toc392408122"></a>Should haves
Drop down menu, zoek balk, filters.
1. # <a name="_toc387987254"></a><a name="_toc392408123"></a>Could haves
Eisen die alleen aan bod zullen komen als er tijd genoeg is.
1. # <a name="_toc387987255"></a><a name="_toc392408124"></a>Wont haves
Eisen die in dit project niet aan bod komen, maar in de toekomst bij een vervolgproject interessant kunnen zijn.
1. # <a name="_toc392408125"></a>**Uit te voeren werkzaamheden**
Indien gevraagd wordt om bepaalde werkzaamheden uit te voeren, worden deze hier vermeld.
© Stichting Praktijkleren 2015
Sjabloon Behoefteanalyse Pagina 1 van 2

160
package-lock.json generated
View File

@@ -151,33 +151,62 @@
} }
}, },
"node_modules/body-parser": { "node_modules/body-parser": {
"version": "1.20.3", "version": "1.20.4",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz",
"integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"bytes": "3.1.2", "bytes": "~3.1.2",
"content-type": "~1.0.5", "content-type": "~1.0.5",
"debug": "2.6.9", "debug": "2.6.9",
"depd": "2.0.0", "depd": "2.0.0",
"destroy": "1.2.0", "destroy": "~1.2.0",
"http-errors": "2.0.0", "http-errors": "~2.0.1",
"iconv-lite": "0.4.24", "iconv-lite": "~0.4.24",
"on-finished": "2.4.1", "on-finished": "~2.4.1",
"qs": "6.13.0", "qs": "~6.14.0",
"raw-body": "2.5.2", "raw-body": "~2.5.3",
"type-is": "~1.6.18", "type-is": "~1.6.18",
"unpipe": "1.0.0" "unpipe": "~1.0.0"
}, },
"engines": { "engines": {
"node": ">= 0.8", "node": ">= 0.8",
"npm": "1.2.8000 || >= 1.4.16" "npm": "1.2.8000 || >= 1.4.16"
} }
}, },
"node_modules/body-parser/node_modules/http-errors": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
"integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
"license": "MIT",
"dependencies": {
"depd": "~2.0.0",
"inherits": "~2.0.4",
"setprototypeof": "~1.2.0",
"statuses": "~2.0.2",
"toidentifier": "~1.0.1"
},
"engines": {
"node": ">= 0.8"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
"node_modules/body-parser/node_modules/statuses": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
"integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/brace-expansion": { "node_modules/brace-expansion": {
"version": "1.1.11", "version": "1.1.12",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -583,39 +612,39 @@
} }
}, },
"node_modules/express": { "node_modules/express": {
"version": "4.21.2", "version": "4.22.1",
"resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz",
"integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"accepts": "~1.3.8", "accepts": "~1.3.8",
"array-flatten": "1.1.1", "array-flatten": "1.1.1",
"body-parser": "1.20.3", "body-parser": "~1.20.3",
"content-disposition": "0.5.4", "content-disposition": "~0.5.4",
"content-type": "~1.0.4", "content-type": "~1.0.4",
"cookie": "0.7.1", "cookie": "~0.7.1",
"cookie-signature": "1.0.6", "cookie-signature": "~1.0.6",
"debug": "2.6.9", "debug": "2.6.9",
"depd": "2.0.0", "depd": "2.0.0",
"encodeurl": "~2.0.0", "encodeurl": "~2.0.0",
"escape-html": "~1.0.3", "escape-html": "~1.0.3",
"etag": "~1.8.1", "etag": "~1.8.1",
"finalhandler": "1.3.1", "finalhandler": "~1.3.1",
"fresh": "0.5.2", "fresh": "~0.5.2",
"http-errors": "2.0.0", "http-errors": "~2.0.0",
"merge-descriptors": "1.0.3", "merge-descriptors": "1.0.3",
"methods": "~1.1.2", "methods": "~1.1.2",
"on-finished": "2.4.1", "on-finished": "~2.4.1",
"parseurl": "~1.3.3", "parseurl": "~1.3.3",
"path-to-regexp": "0.1.12", "path-to-regexp": "~0.1.12",
"proxy-addr": "~2.0.7", "proxy-addr": "~2.0.7",
"qs": "6.13.0", "qs": "~6.14.0",
"range-parser": "~1.2.1", "range-parser": "~1.2.1",
"safe-buffer": "5.2.1", "safe-buffer": "5.2.1",
"send": "0.19.0", "send": "~0.19.0",
"serve-static": "1.16.2", "serve-static": "~1.16.2",
"setprototypeof": "1.2.0", "setprototypeof": "1.2.0",
"statuses": "2.0.1", "statuses": "~2.0.1",
"type-is": "~1.6.18", "type-is": "~1.6.18",
"utils-merge": "1.0.1", "utils-merge": "1.0.1",
"vary": "~1.1.2" "vary": "~1.1.2"
@@ -972,12 +1001,12 @@
} }
}, },
"node_modules/jws": { "node_modules/jws": {
"version": "3.2.2", "version": "3.2.3",
"resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.3.tgz",
"integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", "integrity": "sha512-byiJ0FLRdLdSVSReO/U4E7RoEyOCKnEnEPMjq3HxWtvzLsV08/i5RQKsFVNkCldrCaPr2vDNAOMsfs8T/Hze7g==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"jwa": "^1.4.1", "jwa": "^1.4.2",
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
} }
}, },
@@ -991,9 +1020,9 @@
} }
}, },
"node_modules/lodash": { "node_modules/lodash": {
"version": "4.17.21", "version": "4.17.23",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
@@ -1116,9 +1145,9 @@
} }
}, },
"node_modules/minimatch": { "node_modules/minimatch": {
"version": "3.1.2", "version": "3.1.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
"dev": true, "dev": true,
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
@@ -1444,12 +1473,12 @@
} }
}, },
"node_modules/qs": { "node_modules/qs": {
"version": "6.13.0", "version": "6.14.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz",
"integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==",
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"dependencies": { "dependencies": {
"side-channel": "^1.0.6" "side-channel": "^1.1.0"
}, },
"engines": { "engines": {
"node": ">=0.6" "node": ">=0.6"
@@ -1468,20 +1497,49 @@
} }
}, },
"node_modules/raw-body": { "node_modules/raw-body": {
"version": "2.5.2", "version": "2.5.3",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz",
"integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"bytes": "3.1.2", "bytes": "~3.1.2",
"http-errors": "2.0.0", "http-errors": "~2.0.1",
"iconv-lite": "0.4.24", "iconv-lite": "~0.4.24",
"unpipe": "1.0.0" "unpipe": "~1.0.0"
}, },
"engines": { "engines": {
"node": ">= 0.8" "node": ">= 0.8"
} }
}, },
"node_modules/raw-body/node_modules/http-errors": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
"integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
"license": "MIT",
"dependencies": {
"depd": "~2.0.0",
"inherits": "~2.0.4",
"setprototypeof": "~1.2.0",
"statuses": "~2.0.2",
"toidentifier": "~1.0.1"
},
"engines": {
"node": ">= 0.8"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
"node_modules/raw-body/node_modules/statuses": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
"integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/readdirp": { "node_modules/readdirp": {
"version": "3.6.0", "version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",