Sprint 14

Lose your head

#svelte#sprint

Table of Contents

23 september 2024

Deze sprint gaan we beginnen te werken richting Jamstack. Jamstack is een manier om websites en webapplicaties te bouwen die sneller, veiliger en schaalbaarder zijn. het doet dit door de ervaringslaag van het web los te koppelen van de gegevens en bedrijfslogica. Jamstack maakt het mogelijk een modulaire architectuur te implementeren.

Er zijn twee groepen technologie die onder het paraplubegrip Jamstack vallen:

  • Site generators (Bv: SvelteKit)
  • Headless CMS (Bv: Directus)

30 september 2024

Sveltekit principles

Structure

Framework projecten hebben vaak een saaie vaste structuur.

Project/

  • src/
    • lib/
      • server/ (alleen server side code)
    • routes/
    • app.html
  • static/
  • .gitignore
  • .env (niet naar github)
  • .env.example (wat er je in .env moet zetten)
  • package.json
  • svelte.config.js
  • vite.config.js (build tool)

Routing

Framework projecten hebben een manier om routing af te handelen.

Project/

  • src/
    • routes/
      • [dynamic]/
        • +page.server.js
        • +page.svelte
      • static/
        • +page.server.js
        • +page.svelte
      • +page.server.js
      • +page.svelte

Error handling

Framework projecten hebben een manier om fouten af te handelen.

Project/

  • src/
    • routes/
      • +error.svelte

Met import { page } from '$app/stores' en {$page.status}, {$page.message} kun je de error message laten zien.

Loading data

Framework projecten hebben een manier om data in te laden.

Project/

  • src/
    • routes/
      • +page.server.js
export async function load() {
  return {
    foo: 'bar'
  }
}

Binding

Framework projecten hebben een manier om data te binden.

<script>
  let name = 'world'
  $: shout = name + 'rocks!'
</script>  

<input bind:value={name} />

<h1>Hello {name}!</h1>
<p>{shout}</p>

Library

De meeste framework projecten hebben een bibliotheekfunctie.

Project/

  • src/
    • lib/
      • server/
    • index.js

Components

De meeste framework projecten ondersteunen componenten.

--- /routes/+page.svelte
<script>
  import {Component} from '$lib'
</script>

<Component awnerToLife={42} />

--- /lib/Component.svelte
<script>
  export let awnerToLife;
</script>

<p>The awnser is {awnerToLife}</p>

2 oktober 2024

Desing critique

10 principles of good design

  1. Good design is innovative
  2. Good design makes a product useful
  3. Good design is aesthetic
  4. Good design makes a product understandable
  5. Good design is unobtrusive
  6. Good design is honest
  7. Good design is long-lasting
  8. Good design is thorough down to the last detail
  9. Good design is environmentally friendly
  10. Good design is as little design as possible

7 oktober 2024

Projectmethodiek

Waterval vs. Agile

Specification-related paradigms:
Alles staat helemaal uitgeschreven voordat je begint met bouwen. Er wordt heelveel gedocumenteert Wordt ookwel Waterval genoemt.
Comprehensice system
De develepment-life cycle. Itereerent werken. Ook wel Agile development genoemt

FDND Agile woordenlijst: Agile zelftest

Agile Development
Werken in iteraties.
Backlog
Alles wat nog gedaan moet worden en te wachten staat.
Business owner
Van wie het bedrijf is.
Continuous Integration
Elke keer als er iets naar de main gepushed wordt. Komt het gelijk live te staan.
Daily Scrum
Bespreking van wat je die dag hebt gedaan/ gaat doen. Met behulp van Stand-up en Checkout.
Definition of done
Wat er af moet zijn voor het project.
Epic
Wat het doel is van het project.
Feature
Een onderdeel van een site.
Iteration
Doorloping van de DCL.
Minimal viable product
Alle must haves van je product afhebben.
MoSCoW
Must haves, Should haves, Could haves and Won't have this time around.
Velocity
De hoeveelheid poker punten je af hebt gekregen in een bepaalde periode.

Zoepje's journal © 2025