Mijn rapport aan Stetrin B.V. (Steven Nadal) over het werk dat ik heb uitgevoerd aan hun onlinecamerashop.nl website in de periode van 22-26 februari 2026

1. Voorwoord

1.1

Hieronder volgt mijn gedetailleerde rapport aan Stetrin B.V. over het werk dat ik heb uitgevoerd in de periode van 22-26 februari 2026, in het kader van ons contract voor hun e-commerce website onlinecamerashop.nl.

1.2

Dit rapport beschrijft in detail de exacte tijd die is besteed aan elke fase van het werk.
Deze tijd is bijgehouden met behulp van Upwork's officiële «Time Tracker» programma.

1.3

Wanneer ik op een uurcontract werk, draait de «Time Tracker» altijd op mijn werkstation en maakt deze automatisch een «work diary» aan.

1.4

De «Time Tracker» maakt screenshots van alle 3 de monitoren van mijn werkstation op een willekeurig moment binnen elke interval van 10 minuten.
Upwork bewaart deze screenshots 2 weken lang en stelt ze volledig beschikbaar aan klanten, waardoor ze onafhankelijk de status van mijn werkstationmonitoren in stappen van 10 minuten kunnen verifiëren.

1.5

Omdat klanten echter geen specialisten in mijn vakgebied zijn, kan de essentie van mijn monitor-screenshots voor hen onduidelijk zijn.
Dat is precies waarom ik in dit rapport een gedetailleerde beschrijving geef van het werk dat ik heb uitgevoerd, op een manier die begrijpelijk is voor niet-professionals.

2. Het rapport

2.1. Dag 1, 2026-02-22, zondag

De 1e werkdag.
Het werk duurde 8 uur.
Ik werkte aan 5 taken:

2.1.1

Voor mijn werk is het cruciaal om toegang te krijgen tot de server van de klant via het SSH protocol, dus dit was de 1e taak die ik uitvoerde.
De firewall van ShopWizzy blokkeerde echter de verbinding.

2.1.2

Tijdens de netwerkanalyse (bij een poging om via het SSH protocol verbinding te maken met de server) heb ik bewijs (whois -h whois.cymru.com 144.76.102.70) verkregen voor mijn eerder geuite hypothese dat ShopWizzy simpelweg een Hetzner server aan u onderverhuurt met een prijsopslag van minstens 5-6 keer, en hoogstwaarschijnlijk zelfs 10 keer.
Alleen al met deze bevinding heb ik u de mogelijkheid geboden om ongeveer €400/mnd te besparen (afgaande op uw maandelijkse facturen van ShopWizzy, die zichtbaar zijn in het ShopWizzy hosting control panel, punt 2.1.3 hieronder).

2.1.3

Analyse van de informatiesystemen waartoe u toegang heeft verleend:

  1. ShopWizzy hosting control panel
  2. Low-level hosting control panels toegankelijk via punt 1:
    2.1. Virtualmin
    2.2. Usermin
  3. Cloudflare
  4. Magento backend
  5. Trello
  6. Google Analytics
  7. Google Search Console

2.1.4

Organisatie en documentatie van de kennis die ik tijdens de vorige fase heb opgedaan (in het bijzonder uit de analyse van de 7 informatiesystemen waartoe mij toegang is verleend).

2.1.5.

De meest tijdrovende taak van die dag: het voorbereiden van mijn werkstation voor uw project.
Reden:

2.1.5.1

Een hoogwaardige programmeur voert nooit een aanzienlijk deel van zijn werk direct uit op de server van de klant.
In plaats daarvan voert hij dit uit op zijn lokale werkstation.
Hiervoor configureert hij zijn werkstation om exact dezelfde software te draaien als de server van de klant.
Aangezien elk Magento project in zijn specifieke softwareomgeving draait, vereist het een aangepaste softwareconfiguratie op het werkstation.
Elk detail is van belang: in het bijzonder de exacte versies van de software die op de server van de klant worden gebruikt, aangezien verschillende versies zich anders kunnen gedragen.

2.1.5.2

Het lokaal draaien van de software van de klant op een lokaal werkstation stelt de programmeur in staat om het gedrag van de software grondiger en professioneler te analyseren en te diagnosticeren, alsook om deze sneller en veiliger aan te passen, zonder de productieserver van de klant te beïnvloeden tot de succesvolle afronding van het programmeren en testen.

2.1.5.3

Op dat moment had ik vanwege de firewall van ShopWizzy (punt 2.1.1 hierboven) nog geen toegang tot de broncode van uw website.
Echter, door gebruik te maken van de verleende toegang tot de bovengenoemde informatiesystemen (Virtualmin, Usermin, Magento backend), wist ik al precies welke software en specifieke versies er op uw server draaiden.
Daarom heb ik deze exacte softwareomgeving op mijn werkstation gerepliceerd.
Als vervanging voor de broncode van uw website heb ik tijdelijk een lege instantie van uw Magento versie (2.4.8-p2) gebruikt.

2.2. Dag 2, 2026-02-23, maandag

2.2.1

Die dag heb ik slechts 20 minuten van mijn factureerbare tijd geregistreerd met behulp van Upwork's «Time Tracker».
De rest van mijn werktijd die dag heb ik u gratis adviesdiensten verleend.

2.2.2

Het belangrijkste probleem dat ik die dag bleef aanpakken, was het verkrijgen van toegang tot uw server via het SSH protocol.

2.2.3

U stelde een onwerkbare oplossing voor dit probleem voor — het gebruik van een kant-en-klare VPN-dienst: Surfshark.
Ik heb dit onderzocht en ontdekt dat in het land waar ik momenteel verblijf (Turkije), Surfshark en andere vergelijkbare diensten door de staat worden geblokkeerd.

2.2.4

Daarom stelde ik de enige werkbare optie in deze situatie voor: een VPN-server configureren op mijn eigen Hetzner server, en indirect verbinding maken met uw server, om zo een statisch IP-adres aan de firewall van ShopWizzy te verstrekken.
U heeft mijn oplossing geaccepteerd.

2.3. Dag 3, 2026-02-24, dinsdag

2.3.1

Die dag heb ik slechts 2 uur van mijn factureerbare tijd geregistreerd met behulp van Upwork's «Time Tracker».
De belangrijkste taak die ik uitvoerde was het configureren van mijn VPN-server (punt 2.2.4 hierboven).

2.3.2

2 jaar geleden, in 2024, heb ik een soortgelijk probleem voor een andere klant opgelost en de oplossing gedocumenteerd in een fundamentele gids van 27 stappen, alsook in 12 aanvullende instructies.
Destijds kostte het leveren van een hoogwaardige oplossing voor dit probleem en het grondig documenteren ervan mij 15 werkuren.

2.3.3

Echter, precies omdat ik dit probleem destijds uitgebreid heb opgelost en de oplossing net zo grondig heb gedocumenteerd, kostte het me nu, 2 jaar later, minder dan 2 uur om een soortgelijk probleem opnieuw op te lossen, wat 7.5 keer sneller is.
Dit is een duidelijk voorbeeld van waarom het belangrijk is om problemen goed op te lossen en informatie grondig te organiseren.

2.3.4

Dit is de aanpak die ik consequent in al mijn werk volg.
Dit is waarom de initiële analyse en organisatie van kennis een aanzienlijke investering van mijn tijd vereisen, maar ze leveren me later uiteindelijk aanzienlijke tijdsbesparingen op.

2.3.5

Dus heb ik die dag eindelijk het probleem met de firewall van ShopWizzy opgelost en toegang gekregen tot de broncode van uw website.

2.4. Dag 4, 2026-02-25, woensdag

2.4.1

De vorige dag had ik eindelijk het probleem met de firewall van ShopWizzy opgelost en toegang gekregen tot de broncode van uw website, dus hervatte ik de replicatie van uw serveromgeving op mijn werkstation: de taak waarvan ik de reden en het belang grondig heb uitgelegd in punt 2.1.5 hierboven.

2.4.2

Die dag heb ik slechts 2 uur 40 minuten van mijn factureerbare tijd geregistreerd met behulp van Upwork's «Time Tracker».
De reden hiervoor heb ik de dag ervoor beschreven in mijn diepgaande en inzichtelijke brief:
«Een aanzienlijk deel van mijn denkwerk vindt plaats weg van mijn werkstation».

2.4.3

Bij de initiële analyse van de broncode van uw website stuitte ik op veel complexe architecturale aspecten die een zorgvuldige overweging vereisten.
In plaats van overhaast code te schrijven, geef ik er op zulke momenten de voorkeur aan om afstand te nemen van de computer en me te wijden aan diepgaand analytisch denkwerk.

2.4.4

Zoals ik in de bovengenoemde brief schreef, word ik momenteel niet gecompenseerd voor dit analytische werk weg van mijn werkstation, hoewel het niet minder belangrijk is dan het daadwerkelijke programmeren, en in strategische fasen zoals de initiële analyse van de broncode is het aanzienlijk belangrijker.

2.5. Dag 5, 2026-02-26, donderdag

2.5.1

De vorige dag heb ik opzettelijk mijn tijd achter de computer geminimaliseerd, aanzienlijke tijd besteed aan analytisch denken weg van mijn werkstation, en ben ik vroeg gaan slapen om met een heldere geest aan de broncode te gaan werken.

2.5.2

Die dag voltooide ik de replicatie van uw serveromgeving op mijn werkstation.
Dit stelde me in staat om uw webshop te ontwikkelen en analyseren met behulp van deze identieke lokale kopie in plaats van direct op uw live website.

2.5.3

Vervolgens heb ik de verschillen geanalyseerd tussen de broncode van uw website en de referentieversie van Magento 2.4.8-p2.
Dit was uiterst belangrijk werk.
ShopWizzy (en hoogstwaarschijnlijk ook zijn onderaannemers) heeft talloze wijzigingen direct in de Magento core broncode aangebracht (in plaats van in afzonderlijke modules).
Het was absoluut noodzakelijk om al deze wijzigingen in detail te analyseren, omdat ze het gedrag van Magento beïnvloeden.

2.5.4

Bovendien heeft ShopWizzy (en hoogstwaarschijnlijk ook zijn onderaannemers) talloze niet-functionele rommelbestanden achtergelaten die eerdere versies van de broncode bevatten.
Rommel achterlaten in de broncode is een zeer slechte praktijk.
Dergelijke bestanden belemmeren de analyse, het onderhoud en de wijziging van de broncode, omdat het onduidelijk wordt of Magento een specifiek stuk code gebruikt.

2.5.5

Ik verwijder dergelijke rommel altijd van de website.
Al 6 jaar ontwikkel ik een fundamenteel script hiervoor.
In elk specifiek project moet dit script echter zeer zorgvuldig worden gebruikt.
De toepassing ervan vereist serieus analytisch werk en een begrip van hoe Magento werkt.
Het kan niet gedachteloos worden uitgevoerd.

2.5.6

In totaal namen de taken van de punten 2.5.2, 2.5.3 en 2.5.5 5 uur en 20 minuten van mijn werktijd in beslag.

The same report in English.