35 lines
1.6 KiB
Markdown
35 lines
1.6 KiB
Markdown
# 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)*
|