jv_JACQUESVAN DEN BERG
CV
All projectsDEVELOPMENT JOURNAL / Local
Web development / Student Learning App

Building the session lifecycle before the question engine

A student workspace for subjects, uploads and practice.

Explore the stack
THE SHORT VERSION

What I built.

Student Learning App is part of my portfolio of websites and applications.

  • Onboarding, subjects, uploads and profile pages.
  • User-scoped practice sessions backed by Supabase.
  • Demo completion and persisted result flow.
TOOLS & RESPONSIBILITIES

Under the hood.

01

Nuxt 4

Reactive route and async data lifecycle

02

Supabase

practice_sessions reads and writes

03

Vue

Loading, access and completion states

CONCEPTUAL IMPLEMENTATION FLOW
  1. Session route
  2. Load record
  3. Owner check
  4. Demo score update
  5. Results route
BUILD NOTES / 01

From uploaded material to a study session

A learning application needs to connect the material a student has with the practice they actually do. This project explores that flow through onboarding, subject pages, uploads and a practice area.

BUILD NOTES / 02

What the practice route actually does

The route builds a session ID from its parameter and passes a reactive key to useAsyncData. The query selects the session fields and the page checks the returned user_id against the signed-in user. It watches both the route ID and account ID so the view can reload when either changes.

That check controls what the page displays. It is not, by itself, proof of database authorisation: row-level policies still need to enforce who can read or write the record.

BUILD NOTES / 03

A deliberate placeholder with a real write path

completeDemo updates score and max_score to 1, refreshes Nuxt data, and navigates to the result route with the session ID. This exercises persistence and navigation while the actual question runner is still a placeholder.

It also marks an obvious future boundary: a client-written demo score is not authoritative assessment. A real scoring implementation needs a defined answer model and a trusted validation path. That is a more interesting next milestone than decorating the placeholder with another progress chart.

BUILD NOTES / 04

The next boundary: trusted assessment

The question runner is explicitly a demo: it completes a placeholder question and saves a sample score. I describe it as a working session-and-results foundation, not a finished question bank or an adaptive-learning engine.

BUILD NOTES / 05

What I would build on next

The valuable next layer is real question content and a complete practice flow. Getting the account, session and result relationships in place first gives that work somewhere coherent to live.

WRITTEN BY JACQUES VAN DEN BERGNext build: FERAL
↑ ↓ to navigateEnter to selectEsc to close