Skip to content

Project · June 2024

Lucidity App

A headless content management system for sites built in Nuxt, Next.js, React, Vue, or Svelte.

Nuxt.jsVue.jsSupabasePrismaTypeScriptTailwind CSSPostgreSQL

Overview

A comprehensive web application showcasing modern development practices with Nuxt, Supabase, and Prisma. Features include portfolio management, content management system, admin dashboard, and responsive design with customizable themes.

Purpose

Give frontend developers a CMS they can plug into Nuxt, Next.js, React, Vue, or Svelte sites without rebuilding content editing for every project.

How it works

An editor signs up, defines content schemas (for example Authors, Pages, Posts), and creates documents against those schemas. Drafts stay private until published. A consuming website authenticates with an API key and queries Lucidity for schema types, navigation pages, and collections. The CMS returns structured JSON that the frontend renders — Lucidity does not host the visitor-facing site; it is the content brain behind it.

Publishing is explicit: unpublished drafts never appear in the public query API. API keys can be rotated from the product UI so a compromised key does not require redeploying the CMS.

Architecture

  • Nuxt application for the CMS UI (auth, schema builder, document editor, docs)
  • Supabase for authentication and Postgres storage
  • Prisma as the data access layer over content schemas and documents
  • API-key-protected query endpoints for headless consumers
  • Draft vs published status gating on every public read

What you can do

  • Sign up / sign in to a CMS workspace
  • Define custom content types and fields
  • Create, edit, and publish documents
  • Separate draft content from live content
  • Issue and revoke API keys for frontends
  • Query schema types, pages, and collections from an external site
  • Read product docs from within the app

Data & access

User accounts authenticate through Supabase Auth. Content and schemas belong to the signed-in workspace. Public website reads use API keys and only receive published documents — never drafts or account details.

Integrations

Supabase AuthPostgres via PrismaVercel hosting for the CMS app

Deployment

The CMS app is deployed as a Nuxt site on Vercel. Consuming sites call its public query API over HTTPS.