Skip to content

andybywire/ux-methods

Repository files navigation

UX Methods.org wordmark

The User Experience Practices Knowledge Graph

Fully Decoupled CMSProgressive Web AppKnowledge Graph & CI Workflows


Overview

UX Methods is a content-first Jamstack website built with Sanity and Gatsby, and coordinated with a lightweight knowledge graph running on Data.world. Its goal is to document and interconnect the practices and techniques of user experience design, and to provide a use case from which to explore the possibilities of "boutique" knowledge graphs.

This repository is a monorepo of three interrelated but distinct pieces: content management, web application, and continuous integration, which includes knowledge graph production and integration.

Content Management

UX Methods is built and maintained with as a content first resource. This means that content is structured to communicate meaning based on user and organization needs, not around the web requirements of particular "pages." UX Methods uses the fully decoupled headless CMS Sanity to structure, produce, and distribute content. This functionality is located in the studio folder of this repository.

Screenshot of UXMethods.org website on desktop and mobile


Progressive Web App

UX Methods uses the React based Gatsby statice site generator to publish content as a progressive web app (PWA). Gatsby is also used to publish content as Linked Data (JSON-LD) in parallel with HTML pages in order to support content findability, interoperability, and reuse. PWA code is located in the web folder.

Screenshot of UXMethods.org website on desktop and mobile


Knowledge Graph Integration and Continuous Integration Workflows

GitHub Actions workflows are used to build and publish updates to the UX Methods PWA when content is added or updated. A custom RDF-TRansform GitHub Action and workflow are also used to transform content data from the Sanity headless CMS content API into RDF triples, then upload those triples to the UX Methods dataset on Data.world. This dataset is queried during the PWA build workflow and used to coordinate the related content recommendations and prioritization.

Releases

No releases published

Packages

No packages published