1.6 KiB
1.6 KiB
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 throughClock.Now(configuredTimeZone; 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)