conceptual questions: - ability to log-in to instance separate from a scene? eg, to manage scene - single client metadata or multiple? basic setup/infra: - lexicon schemas - gorm database models - echo web server - indexing: tap consumer, validate, filtering, tables - hydration: skeleton-style, labels, takedowns, viewer context - web app: pongo2, htmx, tailwind (?) - oauth client and sessions - label indexing: package/struct? - dev-env with fake accounts and data major components: - store.Store => database, cache => manages invariants => high-level fetches and types - store/models: SQL schemas - indexer.Indexer => consume from tap => validate schemas views: - top bar: scrumble drop-menu; search; account/notifs drop-menu - feed of items: user, time, interactions, tags - scene summary bar: description, numbers, content guidelines, rules instance admin: - add PDS invite codes scene service account mgmt: - create new scenes as accounts on configured PDS (using invite codes?) - admin endpoint to create a scene; or add/import - instance invite codes allow anybody to create a scene - scene admins can take actions, and instance will update scene account (records) - lifecycle: create, migrate/import, deactivate scene config: - tags: any/limited/none; who - emoji reactions: any/limited/none; who - comments: threaded/flat/none; who - items: types; per-type filters and limits; filter code - membership: open/approve/invite/admin - basic colors tool shopping: - CDN solution docker-compose: - local PDS (?) - local PLC (?) - postgresql (?)