Jonas Laurens

  • Front-end Developer
  • Papa van 2
  • Echtgenoot
  • Techneut
  • Superhelden-expert
  • Gitarist
  • Filmliefhebber

Hall of Justice

Opdracht

Ik heb over de jaren heen een grote verzameling gelezen stripboeken opgebouwd die ik niet langer nodig had. Hoewel ik ze had kunnen verkopen via traditionele kanalen zoals eBay (dat een percentage van elke verkoop inhoudt) of lokale Facebook-groepen, wilde ik mezelf uitdagen als ontwikkelaar: zou ik mijn eigen webshop kunnen bouwen?

Om deze uitdaging echt spannend te maken, stelde ik mezelf een strikte beperking op: de hele tech-stack moest volledig gratis te bouwen, hosten en deployen zijn.


Oplossing & Architectuur

Om dit te bereiken, heb ik zorgvuldig een moderne, kosteloze tech-stack geselecteerd:

  • Headless CMS: In plaats van helemaal zelf een custom CMS te bouwen, heb ik gekozen voor Sanity.io . Dankzij het gulle gratis pakket en de aanpasbare schema’s kon ik snel inventarisschema’s voor stripboeken ontwerpen en data opvragen met behulp van GraphQL.
  • Frontend & Static Site Generation: Ik heb gekozen voor Gatsby om een razendsnelle, statische frontend te bouwen die de GraphQL-endpoint van Sanity aanspreekt.
  • State- & voorraadbeheer: Om een dynamisch winkelwagentje te beheren en de beschikbare voorraad bij te houden (aangezien de meeste strips slechts één fysiek exemplaar hadden), heb ik gekozen voor een combinatie van Zustand en Immer .
  • Hosting & CI/CD: De frontend wordt gehost op Netlify , wat zorgt voor een naadloze, in Git geïntegreerde continue implementatie en beveiligde serverless functions voor het bijwerken van de voorraadniveaus.

Dit project was een fantastische kans om dieper in TypeScript te duiken en legde de basis voor het omzetten van mijn toekomstige persoonlijke projecten naar strongly typed codebases.


Gebruikte technologieën

Gatsby TypeScript Sanity Framer-Motion Zustand Immer

Wat ik heb geleerd

  • TypeScript
  • Ontwerpen en opvragen van schema’s in Sanity.io
  • Gatsby verbinden met Sanity via GraphQL
  • Lichtgewicht state management met Zustand en Immer
  • Deployen van serverless functions en statische websites op Netlify


Project Gallery


Andere branches

Voorbeeld van de homepagina
Voorbeeld van de realisaties-sectie
Voorbeeld van de contact-sectie

Stetrics

Een zakelijke website gebouwd voor Stetrics om hun diensten te presenteren en nieuwe kameraanvragen te stroomlijnen.

Bekijk details
Voorbeeld van het loginscherm
Voorbeeld van het scherm van speler 1
Voorbeeld van het scherm van speler 2
Voorbeeld van het scherm van speler 3
Voorbeeld van het scherm van speler 4

Poker

Een Texas Hold'em pokerspel gebouwd voor het eindwerk van mijn opleiding Front-end Developer, met ondersteuning voor multiplayer gameplay tot 4 spelers.

Bekijk details