JavaScript · Advanced level

Advanced level · Module 6 of 6 · 30 guided hours

JavaScript Capstone Project

Design, build, test and present the Community Health Worker Visit Tracker as a professional TypeScript application with a Node.js API.

Learning objectives

  • Plan a full JavaScript application with offline sync
  • Build and test front end and API to professional standards
  • Document, audit and present the project

Topics

  • requirements and data model
  • offline-first sync design
  • TypeScript front end
  • Node.js API
  • testing strategy
  • audit and presentation

Lessons

  1. Lesson 1 Capstone Requirements and Sync Design

    Define the users, data and offline behaviour, and design how visits recorded offline are synchronised safely.

    user storiesdata modelclient-generated IDsidempotent sync

  2. Lesson 2 Building the Visit API

    Implement the Node.js API with validation, idempotent storage and summaries, with integration tests.

    sync endpointupsert by IDsummary endpointintegration tests

  3. Lesson 3 Building the Offline Front End

    Build the TypeScript front end with offline storage, the store and views, and accessible forms.

    IndexedDB storagetyped storeaccessible formsrouting

  4. Lesson 4 Sync, Quality and Audits

    Connect the front end to the API with retrying sync, then audit performance, security and accessibility.

    sync on reconnectretry with backoffaudit checklistevidence

  5. Lesson 5 Documentation and Presentation

    Document the project for other developers and users, and present it with a live offline-to-online demonstration.

    READMEuser guidedemo scriptreflection

Practical activity

Deliver the capstone through five reviewed milestones: design, API, front end, sync and quality, documentation and presentation.

Expected outcomes

  • A portfolio-quality JavaScript application
  • Experience with offline-first design

Assessment

The level project assessed against its criteria, with a demonstration that includes offline recording and later sync.

Taught live by an instructor — online or in person. Free course lessons are for self-study and do not lead to a certificate — see registration options.