---
badgeName: "Full Stack Web Development"
subtitle: "Full Stack Web Development"
course: "apsi"
monogram: "6APSI"
term: "midterm"
issuer: "Tjakoen Stolk"
criteriaText: "Awarded after instructor review confirmed at least 75% on each required activity: M5A4 (Relational REST API) and M5A5 (HAUnted Sightings React client)."
thresholdPercent: 75
activitiesJson: "[{\"id\":\"m5a4\",\"title\":\"Relational REST API\",\"description\":\"Built a Node and Express API backed by a relational database. The assessment covered related tables and joins, REST endpoints, input validation, error handling, parameterized queries and separation of routes from data access.\"},{\"id\":\"m5a5\",\"title\":\"HAUnted Sightings React client\",\"description\":\"Built a React client for the sightings API. The assessment covered API-driven lists and forms, server-side filtering, loading, error and empty states, responsive design, accessibility and component structure.\"}]"
title: "Full Stack Web Development: Laurenzo Centeno"
type: "cert"
awardKey: "94c9fd152cd6c9ce72b0dd1d4c1ba3bfcec787f4cadf31c66fa2ef3ec0ddad89"
badgeClass: "apsi-2203-midterm"
shortUrl: "/b/94c9fd152cd6c9ce"
recipientName: "Laurenzo Centeno"
recipientHandle: "enzoprog-ctrl"
issuedOn: "2026-11-03"
certId: "hau-94c9fd152cd6c9ce72b0dd1d"
criteriaUrl: "/badges/apsi-2203-midterm"
social: "I earned Full Stack Web Development. Verify my badge: https://tjakoen.github.io/b/94c9fd152cd6c9ce"
showcase:
  - "/media/badges/showcase/1171d4bbad36bd75.webp | 1280x973 | The client at desktop width"
  - "/media/badges/showcase/0ea45d646dce9e6b.webp | 375x2158 | The client at phone width"
showcaseOptOut: false
---

Recognizes completion of both the relational REST API and React client assessments, each at the instructor-reviewed threshold.

The instructor approved this award against the [badging activity criteria](/badges/apsi-2203-midterm).
