docs: add .claude-context project overview

This commit is contained in:
jessikitty committed 2026-09-24 00:13:48 +10:00
1 parent 99c105126e
commit 9920cb287c
1 file changed
+34
+34
View File
@@ -0,0 +1,34 @@
# Scratching Post
Self-hosted digital signage / notice board, part of the Sunbeam framework. Deployed to IIS on Windows Server, with Docker as an alternative.
**Repository:** https://gitea.hideawaygaming.com.au/jessikitty/ScratchingPost
**Current version:** v1.1.1
## Terminology
- **Meow** — a slide
- **PURR** — a device playlist
- **Kitten** — a display node / device
- **ASK** — planned priority-slide feature
Always read live code for names — don't rely on memory (a past "Posts" rename was a mistake).
## Architecture
- ASP.NET Core 8 MVC, SQLite via EF Core `EnsureCreated()` (no migrations — new columns are added by a startup check)
- TinyMCE, self-hosted, for WYSIWYG
- `Infrastructure/Clock.cs` — all "now" comparisons go through `Clock.Now` (configured `TimeZone`; blank = host local)
- Slide types: Content, Embed/iframe, ICS Calendar
- Per-device playlists (SortableJS), per-device resolution scaling, URL routing per device (`/frontofhouse`)
- Cookie auth for admin, credentials in `appsettings.json`
## Ways of Working
- Read live repo files before writing code
- Minimal diffs; don't refactor working code
- Stage changes and wait for Jess's go-ahead before pushing; commit by logical unit to `main`
## Session Log
- 2026-05-26 — Initial Build, Light Mode and Pasted-Table Formatting — v1.0 app; light default, white slides, Sheets table paste normalisation
- 2026-08-23 — Docker Support, Meow Expiry and Time-Zone-Aware Clock — v1.1.0/v1.1.1: Docker, ExpiresAt with server-side filtering, Clock helper and TimeZone setting
---
*Created by: Jess Rogerson (yelling commands at Claude.AI)*