Skip to content

Project Structure

Velocity follows a structured organization designed for scalability and maintainability.

  • Directorysrc/
    • Directoryassets/
      • Directorybranding/ Logo files (logomark.svg, logo-full.svg, etc.)
    • Directorycomponents/
      • Directoryui/ 33 primitive components (Button, Input, Card, etc.)
      • Directorypatterns/ 3 composed components (ContactForm, FormField, etc.)
      • Directorylayout/ 4 layout components (Header, Footer, ThemeToggle, Analytics)
      • Directoryseo/ 3 SEO components (SEO, JsonLd, Breadcrumbs)
      • Directoryblog/ 4 blog components (ArticleHero, BlogCard, etc.)
      • Directorylanding/ 7 landing page components
      • Directoryhero/ 2 hero components
    • Directoryconfig/
      • site.config.ts Site metadata, branding, contact info
      • routes.ts Type-safe route definitions
    • Directorycontent/ Content collections (blog, pages, authors, faqs)
    • Directorylayouts/ 4 page layouts
      • BaseLayout.astro Core HTML wrapper
      • PageLayout.astro Standard content pages
      • BlogLayout.astro Blog articles
      • LandingLayout.astro Marketing/landing pages
    • Directorylib/ Utility functions (cn, schema, og, utils)
    • Directorypages/ Routes and API endpoints
      • Directoryapi/ Contact, newsletter endpoints
      • Directoryog/ Dynamic OG image generation
      • Directoryblog/ Blog routes
    • Directorystyles/
      • global.css Tailwind + design tokens
      • Directorytokens/ colors.css, typography.css, spacing.css
  • Directorypublic/ Static assets
  • astro.config.mjs Astro configuration
FilePurpose
astro.config.mjsAstro configuration
src/content.config.tsContent collection schemas
src/config/site.config.tsSite metadata, branding, contact info
src/config/routes.tsType-safe routing and navigation
src/styles/global.cssTailwind + design tokens
src/lib/og.tsOG image generation configuration

Components are organized by category:

  • ui/ — Primitive components (Button, Input, Card)
  • patterns/ — Composed patterns (ContactForm, FormField)
  • layout/ — Page structure (Header, Footer)
  • seo/ — SEO utilities (meta tags, JSON-LD)
  • blog/ — Blog-specific components
  • landing/ — Marketing page components
  • hero/ — Hero section variants

Located in src/content/:

content/
├── blog/ # Blog posts (MDX)
│ ├── en/ # English posts
│ ├── es/ # Spanish posts
│ └── fr/ # French posts
├── pages/ # Static pages
├── authors/ # Author profiles (JSON)
└── faqs/ # FAQ entries (JSON)