albertonline.org docs
Apps

blog

Next.js blog app with MDX content, Supabase-backed auth/data, and an RSS feed, deployed at blog.albertonline.org.

Overview

blog is the Next.js blog application for albertonline.org. It renders MDX content alongside Supabase-backed authentication and data, generates an RSS feed, and shares the monorepo's Sentry and PostHog observability projects (tagged app=blog). It's the personal/public-writing surface of the suite, separate from the main web product.

Stack

  • Next.js (Turbopack) + React
  • MDX content (@next/mdx, next-mdx-remote, gray-matter, remark/rehype plugins)
  • Supabase (auth + database) via @repo/db / @repo/auth
  • @repo/design-system, @repo/analytics, @repo/observability (shared UI, PostHog, Sentry)
  • Drizzle ORM (schema via @repo/db)
  • Vitest (unit) + Playwright (E2E)

Develop

pnpm -F blog dev          # http://localhost:3004 (Turbopack)
pnpm -F blog dev:ts       # dev server + watched typecheck
pnpm -F blog build        # production build (Turbopack)
pnpm -F blog start        # serve the production build on :3004
pnpm -F blog check-types  # tsc --noEmit

Uses Supabase for auth and the database. Run supabase init / supabase link once, then supabase db pull to sync the schema locally — see the app README for the full setup flow.

Database scripts proxy to @repo/db:

pnpm -F blog db:generate
pnpm -F blog db:push
pnpm -F blog db:migrate
pnpm -F blog db:studio

Test

pnpm -F blog test           # vitest run
pnpm -F blog test:watch     # vitest watch mode
pnpm -F blog test:coverage  # vitest with coverage
pnpm -F blog test:e2e       # playwright test
pnpm -F blog test:e2e:ui    # playwright UI mode

Build & deploy

pnpm -F blog build

Deployed on Vercel (albertonline-org-blog) at blog.albertonline.org; production deploys trigger on push to main via the Vercel Git integration.

Structure

  • src/ — app routes, components, and MDX content pipeline
  • src/scripts/rss — RSS feed generation (pnpm build-rss)
  • src/db/seed.ts — database seed script (pnpm db:seed)
  • e2e/ — Playwright end-to-end tests
  • tests-examples/ — sample Playwright specs

See the apps overview and the monorepo overview.

On this page