Files
av-planner/ideas.md
aarbitandClaude Sonnet 5 93cb4a9617 Seed the public catalog from domain/library.ts
- Catalog table ids (device_categories, port_types, cable_types,
  device_templates) switch from uuid to text so the existing stable,
  human-readable ids (pt-hdmi, dt-display, ...) survive the move
  instead of every diagram's references silently orphaning.
- supabase/seed.sql is generated (scripts/generate-seed.mjs), not
  hand-written, so the seed data can't drift from the actual source of
  truth in domain/library.ts. Re-run the script after editing the
  built-in library.
- Also committing ideas.md/organized-ideas.md, which have been driving
  every backend decision this whole project but were never actually
  checked in.

RLS test suite re-run clean (23/23) after both the schema change and
the seed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017DUU6CnxECCDeqDNYJgr5x
2026-09-07 23:02:12 -05:00

4.0 KiB

  • Remove hard coded devices
  • Create back end with storage
  • Determine relational or nosql for storage
  • Users:
    • Types:
      • regular - has own account. can CRUD own devices. can create own diagrams. can use public devices in diagrams. can submit a new device for review or suggestion for device modification.
      • Admin - same as regular user, but additionally: can view/approve devices and suggestions
      • Super Admin - same as Admin, but additionally: can CRUD users and user devices/diagrams, etc. Has full access to CRUD all data

Device Compact view

  • Devices should have a compact state that doesn't show individual connection points, but rather an aggregate for inputs/outputs/bidirectional. The device should show connected/not connected numbers for inputs/outputs/bidirectional so the user can see what's still got open ports
  • a device can be expanded to show the full individual ports
  • The compact view should show the name of the device, but not the make/model
  • There should be a virtual cable for each type of connection to another device, but all similar connections (e.g. inputs) to the same device should be shown as a single virtual cable
  • aggregated cables should have a special name or tag or something that lets the user know it's an aggegate.

Device Expanded view

  • Devices should have an expanded view that shows all connection points with name and type, the device name, make and model, and have individual virtual cables for each connection point.

  • There should be two different device menus. One is for public devices. One is for user defined devices.

Public device menu

  • Should be searchable, and have multiple views: category>manufacturer and manufacturer>category
  • These device definitions cannot be directly modified by a regular user. Instances of them can be used by regular users in their own diagrams.
  • regular users can submit modified versions for review (to help make the device definitions better for all users)

User device menu

  • should be searchable and viewed by device category (adapter, effect, mixer, etc)

  • These are user defined devices.

  • They are only viewable to the user that created them (and admins, but not other regular users)

  • user devices can be submitted for adding as a public device.

  • Port types and cable types should work effectively like devices: there's a public set and then users can create their own as needed, and submit for addition to the public set.

  • There should be an admin interface for admins and super admins

Admin/super admin interface

  • should allow admins to view and approve/reject submissions for devices/ports/cables
  • should allow admins to CRUD public devices/ports/cables
  • should allow super admins to CRUD all devices/ports/cables
  • should allow super admins to view users diagrams
  • should allow super admins to CRUD users diagrams
  • should allow super admins to CRUD user accounts
  • should not allow anyone to see/edit a user's password.

Bill of Materials view

  • Cables of the same type should be grouped together, with individual cable lengths of that type available to see when expanded with a chevron.
  • Cables of the same type and length should show their own count and total length
  • User should be able to input cost for each cable type and length, and for each device in the diagram
  • a cost total should be available to view

Diagram menu

  • a user should be able to see a list of all their own saved diagrams, and should be able to load/delete individual ones

user signup

  • users can use either google single sign in or manually sign up
    • if using google, they only need to provide a user name, we'll gather email from Google
    • if manual sign up, the user will provide a user name, password, and (valid) email
    • determine best option for sending emails
    • username must be unique

user sign in

  • users can use either google sign in or manually enter username/password
  • determine possible path for allowing users to change their email
  • determine possible path for migrating a user account from one google account to another