Website & Project Architecture

Role: Use this overview to understand the Monorepo layout and where to find files.

High-Level Structure

The project is a monorepo-style setup containing Frontend, Backend, and Documentation.

1. Frontend (Quartz_CL/)

The static site generator (Quartz v4) that renders the markdown content.

  • content/: The Markdown “Brain”. All user-facing text resides here.
    • content/People/: Member profiles.
    • content/Diary/: Daily logs and updates.
    • content/System/: Meta-documentation (including this Guide).
  • quartz/: The Engine. React (TSX) source code.
    • quartz/components/: React components (e.g., NatashaMezheven.tsx, TeamOverview.tsx).
    • quartz/styles/: SCSS modules and global custom.scss.
    • quartz.layout.tsx: Main layout configuration (page rendering logic).

2. Backend (Registers/)

The Data Layer. Managed by Python scripts, storing data in SQLite.

  • Registers/financial_register/: Contains financial_data.db (Transactions, Assets).
  • Registers/candidate_register/: Contains candidates.db (Applicants, Interviews).
  • Registers/System/Scripts/: Python automation.
    • sync_registers.py: ETL process for registers.
    • dashboard_generator.py: Creates JSON/Assets for the Frontend.

3. Documentation (LaTeX_CL/) (Submodule)

Official, print-ready documents and legal contracts.

  • System/pre/: The Core Configuration.
    • pre.tex: Master preamble (Do not edit).
    • macros.tex: Custom macros and variables.
  • Houses/: Documents organized by property (e.g., Renovation_Projects).
  • Legal/: Contracts and agreements.

Development Flow

  1. Content: User edits Markdown in Quartz_CL/content.
  2. Data: User updates Data in Registers (or via Forms/CSV). Python scripts sync this to SQLite.
  3. Build: Quartz builds MD + Data (JSON) + TSX Components into static HTML.
  4. Deploy: Cloudflare Pages automatically deploys the built site.