Skip to content

System Architecture

The IoT Blog project is architected as a decoupled system spanning four distinct repositories. This separation of concerns ensures security, maintainability, and clarity.

  • Role: The core logic, Astro components, and styling theme.
  • Access: Public.
  • Details: This is the β€œbrain” of the blog. It defines how posts are rendered, the search functionality, and the overall look and feel (based on the Astrowind theme).
  • Role: Your actual blog posts (.md files) and images.
  • Access: Private.
  • Details: Keeps your personal data separate from the code. The blog-code engine syncs content from here during the build process.
  • Role: This documentation site itself.
  • Access: Public.
  • Details: Documents how to use, configure, and maintain the blog system. Built with Starlight.
  • Role: Stores comment data and configuration.
  • Access: Private.
  • Details: Used for managing user interactions and feedback separate from the main content.

When you run ./bin/preview or ./bin/deploy from the blog-content repository:

  1. It triggers a sync process.
  2. It pulls the latest theme from blog-code.
  3. It validates images and content.
  4. It builds a static site that combines your private content with the public engine.