Case study

Hardwaresleutel.nl

Webshop ontwikkeling

In deze casestudy neem ik je mee door de ontwikkeling van Hardwaresleutel.nl en de daarbij horende uitdagingen, oplossingen en het positieve resultaat.

Hardwaresleutel.nl is een webshop en informatief platform voor hardware authenticatie-sleutels. Dit zijn fysieke apparaatjes die je kunt gebruiken als extra stap voor tweefactorauthenticatie om jouw online accounts te beveiligen.

Hardwaresleutel.nl

Type

  • Webshop

Rol

  • Eigenaar
  • Software-architect
  • Software­ontwikkelaar
  • Onderhoud
  • CI/CD

Tijdlijn

  • 2021 - 2023, tijdelijk inactief

Opdrachtgever

  • Eigen project

Uitdagingen en doelen

Het doel van dit project is om kennis over fysieke authenticatie-sleutel over te brengen aan een breder, minder technisch aangelegd publiek. Daarnaast is het doel om zulke apparaten, of gerelateerde producten, te verkopen.

Productpagina van een security key.
Productpagina van een security key.
Blogbericht bedoeld om kennis over te brengen in een niet al te technische taal.
Blogbericht bedoeld om kennis over te brengen in een niet al te technische taal.

Simpel gezegd wordt dit doel in twee stappen bereikt: met een simpel te gebruiken webshop en het aanbieden van informatie op de website. Dat laatste wordt met blogberichten, video's, klantenservice en overige informatieve teksten op de website bereikt.

Architectuur

Ten tijde van het ontwikkelen van dit project, waren er nog geen (geschikte) e-commerce platforms die het kon aanbieden dat klanten hun accounts konden beveiligen met zulke authenticatiesleutels. Voor dit project is dat een must, zodat klanten hun gekochte producten via Hardwaresleutel.nl kunnen testen.

Inloggen met een security key als tweestapsverificatie-stap.
Inloggen met een security key als tweestapsverificatie-stap.

Dat was één van de redenen dat ik besloot om een volledige custom webshop te bouwen. Daar kwamen nog andere voordelen bij, zoals volledige customizability, externe koppelingen zonder een derde partij te betalen (via plugins e.d.) en administratie.

Enige nadeel was dat het meer tijd (en dus geld) kostte om te bouwen.

Koppeling met de PostNL-API zodat de geschikte labels met enkele klikken worden gegenereerd.
Koppeling met de PostNL-API zodat de geschikte labels met enkele klikken worden gegenereerd.

Dankzij de op maat gemaakte webshop kan er makkelijk met externe systemen worden geïntegreerd. Zoals het automatisch genereren van PostNL-verzendlabels of facturen.

Daarnaast is er bijvoorbeeld ook een Website zoeker tool om te zoeken welke websites zulke security keys ondersteunen. De data hiervoor wordt dagelijks geautomatiseerd uit een open-source dataset gehaald.

De Website Zoeker Tool waarin je kunt zoeken naar websites en apps om te zien of ze security keys ondersteunen.
De Website Zoeker Tool waarin je kunt zoeken naar websites en apps om te zien of ze security keys ondersteunen.

Technieken

De website is met het Play Framework gebouwd. Daarbij is er gebruik gemaakt van Scala-templates in combinatie met vanilla JavaScript, jQuery, HTML en CSS.

Een aantal van deze technieken zullen in een toekomstige versie met modernere alternatieven worden vervangen.

JavaJava
ScalaScala
Play FrameworkPlay Framework
PostgreSQLPostgreSQL
ES6 (Javascript)ES6 (Javascript)
CSSCSS
HTMLHTML
jQueryjQuery
SBTSBT
JUnitJUnit
Cucumber.jsCucumber.js
JenkinsJenkins
UbuntuUbuntu
Apache HTTP ServerApache HTTP Server
MonitorixMonitorix
MollieMollie
PostNLPostNL

SEO, SEA & marketing

Eén van de belangrijkste aspecten van dit project is de marketing. Immers — zonder klanten, geen omzet.

Initieel is er vooral ingezet op organische bezoekers, dat zijn bezoekers die de site vinden via zoekresultaten in zoekmachines, of andere kosteloze methoden. Door de website te optimaliseren voor zoekmachines, Search Engine Optimization, wordt de website aan potentiële organische klanten getoond.

Hardwaresleutel.nl-product in de Google-zoekresultaten met productinformatie.
Hardwaresleutel.nl-product in de Google-zoekresultaten met productinformatie.
Analyse van structured data op een productpagina. Hierdoor kunnen zoekmachines makkelijker begrijpen wat er op de pagina staat.
Analyse van structured data op een productpagina. Hierdoor kunnen zoekmachines makkelijker begrijpen wat er op de pagina staat.

Met technische SEO zijn alle pagina's standaard geoptimaliseerd. Daarnaast zijn alle teksten ook geoptimaliseerd. Met behulp van een externe partij, hebben we SEO-teksten geschreven. Dit hielp ons om Hardwaresleutel.nl in de top zoekresultaten van Google te krijgen voor relevante zoekresultaten.

In de blog wordt er over verschillende informatieve onderwerpen geschreven. Deze zijn ook geoptimaliseerd (SEO).

Daarnaast is een YouTube-kanaal waarop uitlegvideo's worden geüpload.

Een informatieve video die ik voor een blogbericht heb gemaakt.

Naast de organische strategie, heb ik een extern online marketingbedrijf ingeschakeld voor SEA: Search Engine Advertising. Oftewel, voor het draaien van campagnes met onlineadvertenties.

Samen met een extern ingehuurde marketingbedrijf draaien we advertenties via Google Ads.
Samen met een extern ingehuurde marketingbedrijf draaien we advertenties via Google Ads.

Continuous development & integration

In 2021 was de eerste livegang. Initieel kwam de webshop online met alleen de basisfunctionaliteiten. Dit zodat er zo snel mogelijk producten konden worden verkocht. Sindsdien zijn er continue nieuwe functionaliteiten ontwikkeld.

Op dit moment is Hardwaresleutel.nl tijdelijk offline. Er wordt gewerkt aan een grote onderhoudsbeurt waarin alle toegepaste technieken worden gemoderniseerd en een volledige re-branding.

Plannen
Analyzeren
Ontwerpen
Implementeren
Testen
Onderhouden
Plannen
Analyzeren
Ontwerpen
Implementeren
Testen
Onderhouden

Screenshots

De webshop homepagina.
Een overzichtspagina van producten. Deze kunnen o.b.v. dynamische eigenschappen worden gefilterd. Via de admin CMS kan dat worden beheerd.
Op iedere productpagina staan reviews die klanten zelf kunnen achterlaten.
Voorbeeld van een winkelwagen. Als een product niet (meer) op voorraad is, komt hier ook een melding van tevoorschijn.
Homepagina van de klantenomgeving.
Gedeeltelijke bestellingspagina. Via deze pagina kunnen ook retouren worden aangemeld. De status van de bestelling wordt na verzending via de PostNL-API opgehaald.
Via accountinstellingen kunnen klanten 2FA met een security key instellen. Zo kunnen ze hun sleutels uitproberen.
Er is een uitgebreide klantenservice die via de beheeromgeving (admin CMS) volledig kan worden beheerd.
Voorbeeld van een klantenservice-pagina over verzendkosten.
De beheeromgeving (admin CMS) vanuit waar alle webshop operaties kunnen worden uitgevoerd.
Overzichtspagina van alle blogberichten. Deze bevatten informatieve berichten over gerelateerde onderwerpen.

De webshop homepagina.

Ervaren software engineer nodig?

Ik help bedrijven met softwareoplossingen (SaaS, automatiseren en meer) — van backend tot frontend. Neem vrijblijvend contact op om te kijken hoe ik kan bijdragen aan jouw project.

  • Robuuste backend: Java/Kotlin, SQL, Spring Framework
  • Gebruiksvriendelijke front-end: Next.js, React, Typescript, ES6
  • Snelle doorontwikkeling: Continuous integration & deployment, Jenkins
  • Efficiënte samenwerking: Agile, Scrum, Jira, Git, Bitbucket, GitHub
  • Freelance software-ontwikkelaar uit Arnhem