Files
chicken_babies_site/docs
Phillip Tarrant 0306f71763 feat: phase 2 content model + cache — SQLite schema, markdown, TTL
Stand up the full SQLite content layer: all 7 tables from the authoritative
schema with WAL + foreign-keys enforced per-connection, entity dataclasses
plus row mappers, hand-rolled versioned migrations tracked in
schema_migrations, and an idempotent Python seed (system user + welcome
post + About page).

Add a Markdown->HTML service using markdown-it-py with a strict bleach
allowlist (tables intentionally omitted on both sides). Add a typed
in-process TTLCache[K,V] and wire it into real DB-backed PostService and
PageService, both exposing invalidate_all() for Phase 4 admin writes.

Rewire / and /about to read from the DB; homepage renders the seeded
welcome post, About renders page.title + sanitized body_html_cached.
Update the Phase 1 route tests accordingly.

Mark Phase 2 complete in docs/ROADMAP.md.
2026-04-21 15:40:35 -05:00
..

Documentation Folder

This folder contains business planning, architecture decisions, and documentation.

No application code belongs here.

Contents

Document Purpose
ROADMAP.md Phased build plan, data model (dataclasses), SQL schema, visual design, env-var contract
code_guidelines.md Generic Python coding standards (FastAPI overrides its Flask default for this project)
security.md Python security baseline (OWASP-aligned)
MANUAL_TESTING.md (added in Phase 1) Manual test checklist for the public site + admin
Document Purpose
../CLAUDE.md Project instructions — stack, topology, security must-haves, git flow

Guidelines

  • Keep documents focused and concise.
  • Update docs when architecture decisions change.
  • Use markdown tables for structured information.
  • Link to external documentation where relevant.