Skip to main content

Sanity Architecture

Infowebplus uses Sanity.io as the headless CMS for managing marketing content and quote configuration.

This page focuses on how Sanity fits into the overall system. For general CMS usage see:

Studio and schemas

The main application repository includes a studio/ directory containing:

  • sanity.config.ts – Studio and project configuration
  • schemas/ – Document and object schema definitions

Key content types described in the docs include:

  • Hero – Homepage hero content
  • Service – Services listing
  • Testimonial – Client testimonials
  • About – About page content
  • Site Settings – Global settings
  • Quote Settings – Quote calculator configuration

Refer to:

GraphQL API

Sanity exposes a GraphQL endpoint which the app uses to fetch structured content:

https://[project-id].api.sanity.io/v2024-01-01/graphql/[dataset]/default

For field-level details, see:

TODO

Confirm the active Sanity API version and dataset names in sanity.config.ts of the main application repo and update this URL/version string if needed.

Caching and webhooks

To reduce latency and API usage, the app layers caching on top of Sanity:

  • Sanity -> Next.js API layer
  • Next.js -> Redis or in-memory cache
  • Redis -> Edge/CDN

When content changes in Sanity, webhooks are used to trigger cache invalidation:

Relationship to quote system

The quote calculator stores structured quote and tracking data in Sanity, including:

  • Calculator selections
  • Contact information
  • Tracking metadata
  • Pricing details

See: