# YWCC Industry Capstone ## Docs - [Content model](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/architecture/content-model.md): The seven Sanity document types, their fields, object types, block types, and how they relate to each other and to multi-site support. - [Architecture overview](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/architecture/overview.md): How the YWCC Capstone platform is structured: Jamstack SSG for public pages, selective SSR for the portal, and Cloudflare edge services throughout. - [Project structure](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/architecture/project-structure.md): Directory layout of the monorepo, explaining the role of every major folder and the key files that wire the system together. - [Rendering strategy](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/architecture/rendering-strategy.md): How Astro's static-first output, per-route SSR opt-in, and Cloudflare middleware combine to deliver fast public pages alongside a secure authenticated portal. - [Workspace packages](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/architecture/workspace-packages.md): How the npm workspaces monorepo is split between astro-app and studio, what each package owns, and how they share scripts and dependencies. - [Adding a custom block](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/adding/custom-block.md): Step-by-step guide for building a new CMS-connected block with its own Sanity schema, GROQ projection, and Astro component. - [Wiring a template block to Sanity](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/adding/template-block.md): Connect an existing fulldev/ui template block to Sanity CMS by adding a schema, GROQ projection, and type registration. No .astro changes required. - [Block architecture](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/block-architecture.md): The flat-props interface pattern, filename-to-type mapping, auto-discovery, and the roles of BlockRenderer and BlockWrapper. - [Block registry](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/block-registry.md): How block-registry.ts maps filenames to AstroComponentFactory instances and how BlockRenderer resolves components at runtime. - [Announcement Bar](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/announcement-bar.md): A top-of-section notice bar with icon, text, and an optional link. Supports optional dismissal. - [Article List](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/article-list.md): A listing block for articles or news items with a configurable source and optional CTA links. - [Comparison Table](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/comparison-table.md): A feature comparison table with highlighted columns, row groups, and optional CTA links. - [Contact Form](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/contact-form.md): Dynamic sponsor inquiry form with Cloudflare Turnstile bot protection and Astro Actions submission. - [CTA Banner](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/cta-banner.md): Conversion-focused call-to-action section with heading, description, buttons, and four layout variants. - [Divider](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/divider.md): A visual section separator with optional label text. - [Event List](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/event-list.md): Displays upcoming, past, or all events sourced from Sanity event documents in a responsive card grid. - [FAQ Section](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/faq-section.md): Split-layout accordion FAQ with a sticky heading column and Portable Text answers. - [Feature Grid](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/feature-grid.md): Numbered tile grid for displaying program features, benefits, or capabilities with configurable column count. - [Hero Banner](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/hero-banner.md): Full-width page hero with heading, subheading, CTA buttons, and optional image carousel background. - [Image Gallery](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/image-gallery.md): A responsive image grid with optional heading, description, and configurable column count. - [Logo Cloud](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/logo-cloud.md): Compact sponsor logo grid that auto-populates from all published sponsors or accepts a manual list. - [Project Cards](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/project-cards.md): Displays capstone project cards from Sanity project documents with sponsor references and technology tags. - [Pullquote](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/pullquote.md): A large-format editorial quotation with optional attribution, role, and headshot. - [Rich Text](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/rich-text.md): Free-form Portable Text content block rendered with full prose styling. - [Sponsor Cards](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/sponsor-cards.md): Grid of rich sponsor profile cards with logo, tier badge, description, and links. - [Sponsor Steps](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/sponsor-steps.md): Numbered process timeline showing how to become a sponsor, with optional bullet points and CTAs. - [Sponsorship Tiers](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/sponsorship-tiers.md): A pricing-style tier card grid for displaying sponsorship packages with benefits lists and CTA buttons. - [Stats Row](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/stats-row.md): Compact four-column row of large numeric stats with labels, in light or dark background. - [Team Grid](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/team-grid.md): Displays team member cards with photo, name, role, and optional links in three layout variants. - [Testimonials](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/testimonials.md): Displays testimonial quotes from industry contacts and students, with multiple filtering modes and optional project grouping. - [Text with Image](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/text-with-image.md): Split section pairing Portable Text body copy with a positioned image, switchable left or right. - [Timeline](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/timeline.md): A chronological list of entries with date labels, descriptions, and optional images in three layout variants. - [Video Embed](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/custom/video-embed.md): Embeds a video from a URL (YouTube, Vimeo) with optional title and caption. - [Block library overview](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/overview.md): How content editors compose pages from reusable blocks, and how the block library is organized. - [Content blocks](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/templates/content.md): 6 fulldev/ui content variants (content-1 through content-6) for text and image section layouts with optional feature checklists. - [CTA blocks](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/templates/cta.md): 8 fulldev/ui CTA variants (cta-1 through cta-8) for call-to-action banner sections with social proof, ratings, and button groups. - [Feature blocks](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/templates/features.md): 6 fulldev/ui feature variants (features-1 through features-6) for icon and card grid layouts that highlight product or service capabilities. - [Hero blocks](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/templates/heroes.md): 14 fulldev/ui hero variants (hero-1 through hero-14) covering centered, split, and image-heavy landing section layouts. - [Media blocks](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/templates/media.md): 12 fulldev/ui media variants across three sub-categories: logo clouds (logos-1–3), image grids (images-1–2), single-video sections (video-1–3), and video grid sections (videos-1–4). - [Template blocks overview](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/blocks/templates/overview.md): 102 pre-built fulldev/ui block variants auto-discovered by the block registry, with Storybook stories and Sanity CMS wiring in progress. - [Event document](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/cms/documents/event.md): Schema fields for the event document type, which represents workshops, showcases, and networking events. - [Page document](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/cms/documents/page.md): Schema fields, template options, and GROQ query for the page document type used in the Astro page builder. - [Project document](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/cms/documents/project.md): Schema fields for the project document type, which represents a capstone team project sponsored by an industry partner. - [Site settings document](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/cms/documents/site-settings.md): Schema fields for the siteSettings singleton document, which controls global branding, navigation, footer, and social links. - [Sponsor document](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/cms/documents/sponsor.md): Schema fields for the sponsor document type, which represents an industry partner on the Capstone site. - [Team document](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/cms/documents/team.md): How team member and testimonial data is modeled in the project — inline on projects and as standalone testimonial documents. - [GROQ queries overview](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/cms/groq/overview.md): How GROQ queries are defined, typed, and used in the Astro front end to fetch content from Sanity at build time. - [GROQ projections](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/cms/groq/projections.md): How IMAGE_PROJECTION and PORTABLE_TEXT_PROJECTION reshape Sanity data into component-ready props. - [Sanity Studio overview](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/cms/overview.md): How Sanity Studio is configured and used as the headless CMS for the YWCC Industry Capstone site. - [Schema types](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/cms/schema-types.md): How Sanity schemas are organized into documents, blocks, objects, fields, and helpers in this project. - [Visual Editing](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/cms/visual-editing.md): How the Sanity Presentation tool and stega encoding enable live overlay editing on the Astro front end. - [Cloudflare Pages](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/deployment/cloudflare-pages.md): How the Astro site deploys to Cloudflare Pages across production, staging, and preview environments. - [Cloudflare Workers](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/deployment/cloudflare-workers.md): The rate limiter worker using Durable Objects for sliding-window rate limiting, plus D1 and KV bindings. - [Git workflow](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/deployment/git-workflow.md): Branch strategy, commit conventions, PR flow, and protection rules for the monorepo. - [GitHub Actions](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/deployment/github-actions.md): All six GitHub Actions workflows: CI, release, Storybook deploy, preview sync, and branch enforcement. - [Lighthouse CI](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/deployment/lighthouse-ci.md): Performance budget enforcement via Lighthouse CI on every PR to the preview branch. - [Performance targets](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/deployment/performance-targets.md): Lighthouse score requirements, Core Web Vitals targets, asset budgets, and how static HTML achieves near-zero TBT. - [Deploying Sanity Studio](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/deployment/sanity-studio.md): Deploy Sanity Studio to Sanity's CDN and Storybook to GitHub Pages via GitHub Actions. - [Semantic release](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/deployment/semantic-release.md): Automated versioning, changelog generation, and GitHub Releases on every merge to main. - [Introduction](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/introduction.md): YWCC Industry Capstone is a CMS-driven static website for NJIT's Ying Wu College of Computing, built on Astro, Sanity, and Cloudflare. - [Quickstart](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/quickstart.md): Get the YWCC Capstone project running locally in under 5 minutes. - [Environment variables](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/setup/environment.md): All environment variables for the YWCC Capstone Astro app, with instructions for finding each value. - [Local development](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/setup/local-development.md): All development commands for the YWCC Capstone monorepo, including dev servers, testing, and Storybook. - [Prerequisites](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/setup/prerequisites.md): Everything you need installed and configured before cloning the YWCC Capstone repository. - [Accessibility testing](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/testing/accessibility.md): WCAG 2.1 AA compliance via axe-core integrated into Playwright E2E tests, with a Lighthouse accessibility score target of 90+. - [End-to-end tests](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/testing/e2e-tests.md): Playwright E2E tests across 5 browser projects and fast integration tests that validate schema and module conventions without a browser. - [Testing overview](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/testing/overview.md): Multi-layer test strategy covering unit, integration, E2E, accessibility, and performance across the Astro + Sanity monorepo. - [Storybook](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/testing/storybook.md): Storybook 10 with the storybook-astro renderer for isolated component development and visual testing of the block library. - [Unit tests](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/testing/unit-tests.md): Vitest unit tests for utilities, GROQ query helpers, mock data validation, and client-side DOM scripts. ## OpenAPI Specs - [openapi](https://mintlify.wiki/gsinghjay/astro-shadcn-sanity/api-reference/openapi.json)