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

65 lines
4.0 KiB
Markdown

* 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