1176 lines
25 KiB
YAML
1176 lines
25 KiB
YAML
version: '1.0'
|
|
generated_at: '2025-12-19T06:08:20.694285'
|
|
source: .workflow/versions/v001/design/design_document.yml
|
|
entities:
|
|
database:
|
|
- id: model_user
|
|
type: database
|
|
name: User
|
|
file_path: prisma/schema.prisma
|
|
layer: 1
|
|
depends_on: []
|
|
used_by:
|
|
- model_recording
|
|
- model_generated_app
|
|
- api_register_user
|
|
- api_login_user
|
|
- api_get_current_user
|
|
status: pending
|
|
- id: model_recording
|
|
type: database
|
|
name: Recording
|
|
file_path: prisma/schema.prisma
|
|
layer: 1
|
|
depends_on:
|
|
- model_user
|
|
used_by:
|
|
- model_generated_app
|
|
- api_list_recordings
|
|
- api_create_recording
|
|
- api_get_recording
|
|
- api_delete_recording
|
|
- api_transcribe_recording
|
|
- api_summarize_recording
|
|
- api_generate_app
|
|
status: pending
|
|
- id: model_generated_app
|
|
type: database
|
|
name: GeneratedApp
|
|
file_path: prisma/schema.prisma
|
|
layer: 1
|
|
depends_on:
|
|
- model_user
|
|
- model_recording
|
|
used_by:
|
|
- api_list_apps
|
|
- api_generate_app
|
|
- api_get_app
|
|
- api_delete_app
|
|
status: pending
|
|
api:
|
|
- id: api_register_user
|
|
type: api
|
|
name: Register a new user
|
|
file_path: app/api/auth/register/route.ts
|
|
layer: 2
|
|
depends_on:
|
|
- model_user
|
|
used_by:
|
|
- component_register_form
|
|
status: pending
|
|
- id: api_login_user
|
|
type: api
|
|
name: Login user
|
|
file_path: app/api/auth/login/route.ts
|
|
layer: 2
|
|
depends_on:
|
|
- model_user
|
|
used_by:
|
|
- component_login_form
|
|
status: pending
|
|
- id: api_logout_user
|
|
type: api
|
|
name: Logout user
|
|
file_path: app/api/auth/logout/route.ts
|
|
layer: 2
|
|
depends_on: []
|
|
used_by: []
|
|
status: pending
|
|
- id: api_get_current_user
|
|
type: api
|
|
name: Get current user
|
|
file_path: app/api/auth/me/route.ts
|
|
layer: 2
|
|
depends_on:
|
|
- model_user
|
|
used_by:
|
|
- page_dashboard
|
|
status: pending
|
|
- id: api_list_recordings
|
|
type: api
|
|
name: List user recordings
|
|
file_path: app/api/recordings/route.ts
|
|
layer: 2
|
|
depends_on:
|
|
- model_recording
|
|
used_by:
|
|
- page_dashboard
|
|
- page_recordings
|
|
status: pending
|
|
- id: api_create_recording
|
|
type: api
|
|
name: Create new recording
|
|
file_path: app/api/recordings/route.ts
|
|
layer: 2
|
|
depends_on:
|
|
- model_recording
|
|
used_by: []
|
|
status: pending
|
|
- id: api_get_recording
|
|
type: api
|
|
name: Get single recording
|
|
file_path: app/api/recordings/[id]/route.ts
|
|
layer: 2
|
|
depends_on:
|
|
- model_recording
|
|
used_by:
|
|
- page_recording_detail
|
|
status: pending
|
|
- id: api_delete_recording
|
|
type: api
|
|
name: Delete recording
|
|
file_path: app/api/recordings/[id]/route.ts
|
|
layer: 2
|
|
depends_on:
|
|
- model_recording
|
|
used_by: []
|
|
status: pending
|
|
- id: api_transcribe_recording
|
|
type: api
|
|
name: Transcribe recording
|
|
file_path: app/api/recordings/[id]/transcribe/route.ts
|
|
layer: 2
|
|
depends_on:
|
|
- model_recording
|
|
used_by:
|
|
- api_summarize_recording
|
|
status: pending
|
|
- id: api_summarize_recording
|
|
type: api
|
|
name: Summarize recording
|
|
file_path: app/api/recordings/[id]/summarize/route.ts
|
|
layer: 2
|
|
depends_on:
|
|
- model_recording
|
|
- api_transcribe_recording
|
|
used_by:
|
|
- api_generate_app
|
|
status: pending
|
|
- id: api_list_apps
|
|
type: api
|
|
name: List generated apps
|
|
file_path: app/api/apps/route.ts
|
|
layer: 2
|
|
depends_on:
|
|
- model_generated_app
|
|
used_by:
|
|
- page_apps
|
|
status: pending
|
|
- id: api_generate_app
|
|
type: api
|
|
name: Generate app from recording
|
|
file_path: app/api/apps/generate/route.ts
|
|
layer: 2
|
|
depends_on:
|
|
- model_generated_app
|
|
- model_recording
|
|
- api_summarize_recording
|
|
used_by: []
|
|
status: pending
|
|
- id: api_get_app
|
|
type: api
|
|
name: Get single generated app
|
|
file_path: app/api/apps/[id]/route.ts
|
|
layer: 2
|
|
depends_on:
|
|
- model_generated_app
|
|
used_by:
|
|
- page_app_detail
|
|
status: pending
|
|
- id: api_delete_app
|
|
type: api
|
|
name: Delete generated app
|
|
file_path: app/api/apps/[id]/route.ts
|
|
layer: 2
|
|
depends_on:
|
|
- model_generated_app
|
|
used_by: []
|
|
status: pending
|
|
component:
|
|
- id: component_header
|
|
type: component
|
|
name: Header
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on: []
|
|
used_by:
|
|
- page_home
|
|
- page_dashboard
|
|
- page_recordings
|
|
- page_recording_detail
|
|
- page_apps
|
|
- page_app_detail
|
|
status: pending
|
|
- id: component_sidebar
|
|
type: component
|
|
name: Sidebar
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on: []
|
|
used_by:
|
|
- page_dashboard
|
|
- page_recordings
|
|
- page_recording_detail
|
|
- page_apps
|
|
- page_app_detail
|
|
status: pending
|
|
- id: component_hero
|
|
type: component
|
|
name: Hero
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on: []
|
|
used_by:
|
|
- page_home
|
|
status: pending
|
|
- id: component_features
|
|
type: component
|
|
name: Features
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on: []
|
|
used_by:
|
|
- page_home
|
|
status: pending
|
|
- id: component_login_form
|
|
type: component
|
|
name: LoginForm
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on:
|
|
- api_login_user
|
|
used_by:
|
|
- page_login
|
|
status: pending
|
|
- id: component_register_form
|
|
type: component
|
|
name: RegisterForm
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on:
|
|
- api_register_user
|
|
used_by:
|
|
- page_register
|
|
status: pending
|
|
- id: component_record_button
|
|
type: component
|
|
name: RecordButton
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on: []
|
|
used_by:
|
|
- page_dashboard
|
|
status: pending
|
|
- id: component_wake_word_indicator
|
|
type: component
|
|
name: WakeWordIndicator
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on: []
|
|
used_by:
|
|
- page_dashboard
|
|
status: pending
|
|
- id: component_recording_list
|
|
type: component
|
|
name: RecordingList
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on:
|
|
- component_recording_card
|
|
used_by:
|
|
- page_dashboard
|
|
- page_recordings
|
|
status: pending
|
|
- id: component_recording_card
|
|
type: component
|
|
name: RecordingCard
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on: []
|
|
used_by:
|
|
- component_recording_list
|
|
- page_recordings
|
|
status: pending
|
|
- id: component_audio_player
|
|
type: component
|
|
name: AudioPlayer
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on: []
|
|
used_by:
|
|
- page_recording_detail
|
|
status: pending
|
|
- id: component_transcript_viewer
|
|
type: component
|
|
name: TranscriptViewer
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on: []
|
|
used_by:
|
|
- page_recording_detail
|
|
status: pending
|
|
- id: component_summary_display
|
|
type: component
|
|
name: SummaryDisplay
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on: []
|
|
used_by:
|
|
- page_recording_detail
|
|
status: pending
|
|
- id: component_app_gallery
|
|
type: component
|
|
name: AppGallery
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on:
|
|
- component_app_card
|
|
used_by:
|
|
- page_apps
|
|
status: pending
|
|
- id: component_app_card
|
|
type: component
|
|
name: AppCard
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on: []
|
|
used_by:
|
|
- component_app_gallery
|
|
- page_apps
|
|
status: pending
|
|
- id: component_app_iframe_viewer
|
|
type: component
|
|
name: AppIframeViewer
|
|
file_path: ''
|
|
layer: 3
|
|
depends_on: []
|
|
used_by:
|
|
- page_app_detail
|
|
status: pending
|
|
page:
|
|
- id: page_home
|
|
type: page
|
|
name: Home
|
|
file_path: app//page.tsx
|
|
layer: 4
|
|
depends_on:
|
|
- component_header
|
|
- component_hero
|
|
- component_features
|
|
used_by: []
|
|
status: pending
|
|
- id: page_login
|
|
type: page
|
|
name: Login
|
|
file_path: app/login/page.tsx
|
|
layer: 4
|
|
depends_on:
|
|
- component_login_form
|
|
used_by: []
|
|
status: pending
|
|
- id: page_register
|
|
type: page
|
|
name: Register
|
|
file_path: app/register/page.tsx
|
|
layer: 4
|
|
depends_on:
|
|
- component_register_form
|
|
used_by: []
|
|
status: pending
|
|
- id: page_dashboard
|
|
type: page
|
|
name: Dashboard
|
|
file_path: app/dashboard/page.tsx
|
|
layer: 4
|
|
depends_on:
|
|
- api_get_current_user
|
|
- api_list_recordings
|
|
- component_header
|
|
- component_sidebar
|
|
- component_record_button
|
|
- component_wake_word_indicator
|
|
- component_recording_list
|
|
used_by: []
|
|
status: pending
|
|
- id: page_recordings
|
|
type: page
|
|
name: Recordings
|
|
file_path: app/recordings/page.tsx
|
|
layer: 4
|
|
depends_on:
|
|
- api_list_recordings
|
|
- component_header
|
|
- component_sidebar
|
|
- component_recording_list
|
|
- component_recording_card
|
|
used_by: []
|
|
status: pending
|
|
- id: page_recording_detail
|
|
type: page
|
|
name: Recording Detail
|
|
file_path: app/recordings/[id]/page.tsx
|
|
layer: 4
|
|
depends_on:
|
|
- api_get_recording
|
|
- component_header
|
|
- component_sidebar
|
|
- component_audio_player
|
|
- component_transcript_viewer
|
|
- component_summary_display
|
|
used_by: []
|
|
status: pending
|
|
- id: page_apps
|
|
type: page
|
|
name: Generated Apps
|
|
file_path: app/apps/page.tsx
|
|
layer: 4
|
|
depends_on:
|
|
- api_list_apps
|
|
- component_header
|
|
- component_sidebar
|
|
- component_app_gallery
|
|
- component_app_card
|
|
used_by: []
|
|
status: pending
|
|
- id: page_app_detail
|
|
type: page
|
|
name: App Preview
|
|
file_path: app/apps/[id]/page.tsx
|
|
layer: 4
|
|
depends_on:
|
|
- api_get_app
|
|
- component_header
|
|
- component_sidebar
|
|
- component_app_iframe_viewer
|
|
used_by: []
|
|
status: pending
|
|
relations:
|
|
- source: model_recording
|
|
target: model_user
|
|
type: references
|
|
- source: model_generated_app
|
|
target: model_user
|
|
type: references
|
|
- source: model_generated_app
|
|
target: model_recording
|
|
type: references
|
|
- source: api_register_user
|
|
target: model_user
|
|
type: queries
|
|
- source: api_login_user
|
|
target: model_user
|
|
type: queries
|
|
- source: api_get_current_user
|
|
target: model_user
|
|
type: queries
|
|
- source: api_list_recordings
|
|
target: model_recording
|
|
type: queries
|
|
- source: api_create_recording
|
|
target: model_recording
|
|
type: queries
|
|
- source: api_get_recording
|
|
target: model_recording
|
|
type: queries
|
|
- source: api_delete_recording
|
|
target: model_recording
|
|
type: queries
|
|
- source: api_transcribe_recording
|
|
target: model_recording
|
|
type: queries
|
|
- source: api_summarize_recording
|
|
target: model_recording
|
|
type: queries
|
|
- source: api_summarize_recording
|
|
target: api_transcribe_recording
|
|
type: calls
|
|
- source: api_list_apps
|
|
target: model_generated_app
|
|
type: queries
|
|
- source: api_generate_app
|
|
target: model_generated_app
|
|
type: queries
|
|
- source: api_generate_app
|
|
target: model_recording
|
|
type: queries
|
|
- source: api_generate_app
|
|
target: api_summarize_recording
|
|
type: calls
|
|
- source: api_get_app
|
|
target: model_generated_app
|
|
type: queries
|
|
- source: api_delete_app
|
|
target: model_generated_app
|
|
type: queries
|
|
- source: component_login_form
|
|
target: api_login_user
|
|
type: calls
|
|
- source: component_register_form
|
|
target: api_register_user
|
|
type: calls
|
|
- source: component_recording_list
|
|
target: component_recording_card
|
|
type: imports
|
|
- source: component_app_gallery
|
|
target: component_app_card
|
|
type: imports
|
|
- source: page_home
|
|
target: component_header
|
|
type: renders
|
|
- source: page_home
|
|
target: component_hero
|
|
type: renders
|
|
- source: page_home
|
|
target: component_features
|
|
type: renders
|
|
- source: page_login
|
|
target: component_login_form
|
|
type: renders
|
|
- source: page_register
|
|
target: component_register_form
|
|
type: renders
|
|
- source: page_dashboard
|
|
target: api_get_current_user
|
|
type: calls
|
|
- source: page_dashboard
|
|
target: api_list_recordings
|
|
type: calls
|
|
- source: page_dashboard
|
|
target: component_header
|
|
type: renders
|
|
- source: page_dashboard
|
|
target: component_sidebar
|
|
type: renders
|
|
- source: page_dashboard
|
|
target: component_record_button
|
|
type: renders
|
|
- source: page_dashboard
|
|
target: component_wake_word_indicator
|
|
type: renders
|
|
- source: page_dashboard
|
|
target: component_recording_list
|
|
type: renders
|
|
- source: page_recordings
|
|
target: api_list_recordings
|
|
type: calls
|
|
- source: page_recordings
|
|
target: component_header
|
|
type: renders
|
|
- source: page_recordings
|
|
target: component_sidebar
|
|
type: renders
|
|
- source: page_recordings
|
|
target: component_recording_list
|
|
type: renders
|
|
- source: page_recordings
|
|
target: component_recording_card
|
|
type: renders
|
|
- source: page_recording_detail
|
|
target: api_get_recording
|
|
type: calls
|
|
- source: page_recording_detail
|
|
target: component_header
|
|
type: renders
|
|
- source: page_recording_detail
|
|
target: component_sidebar
|
|
type: renders
|
|
- source: page_recording_detail
|
|
target: component_audio_player
|
|
type: renders
|
|
- source: page_recording_detail
|
|
target: component_transcript_viewer
|
|
type: renders
|
|
- source: page_recording_detail
|
|
target: component_summary_display
|
|
type: renders
|
|
- source: page_apps
|
|
target: api_list_apps
|
|
type: calls
|
|
- source: page_apps
|
|
target: component_header
|
|
type: renders
|
|
- source: page_apps
|
|
target: component_sidebar
|
|
type: renders
|
|
- source: page_apps
|
|
target: component_app_gallery
|
|
type: renders
|
|
- source: page_apps
|
|
target: component_app_card
|
|
type: renders
|
|
- source: page_app_detail
|
|
target: api_get_app
|
|
type: calls
|
|
- source: page_app_detail
|
|
target: component_header
|
|
type: renders
|
|
- source: page_app_detail
|
|
target: component_sidebar
|
|
type: renders
|
|
- source: page_app_detail
|
|
target: component_app_iframe_viewer
|
|
type: renders
|
|
- source: model_recording
|
|
target: model_user
|
|
type: references
|
|
- source: model_generated_app
|
|
target: model_user
|
|
type: references
|
|
- source: model_generated_app
|
|
target: model_recording
|
|
type: references
|
|
- source: api_register_user
|
|
target: model_user
|
|
type: queries
|
|
- source: api_login_user
|
|
target: model_user
|
|
type: queries
|
|
- source: api_get_current_user
|
|
target: model_user
|
|
type: queries
|
|
- source: api_list_recordings
|
|
target: model_recording
|
|
type: queries
|
|
- source: api_create_recording
|
|
target: model_recording
|
|
type: queries
|
|
- source: api_get_recording
|
|
target: model_recording
|
|
type: queries
|
|
- source: api_delete_recording
|
|
target: model_recording
|
|
type: queries
|
|
- source: api_transcribe_recording
|
|
target: model_recording
|
|
type: queries
|
|
- source: api_summarize_recording
|
|
target: model_recording
|
|
type: queries
|
|
- source: api_summarize_recording
|
|
target: api_transcribe_recording
|
|
type: calls
|
|
- source: api_list_apps
|
|
target: model_generated_app
|
|
type: queries
|
|
- source: api_generate_app
|
|
target: model_generated_app
|
|
type: queries
|
|
- source: api_generate_app
|
|
target: model_recording
|
|
type: queries
|
|
- source: api_generate_app
|
|
target: api_summarize_recording
|
|
type: calls
|
|
- source: api_get_app
|
|
target: model_generated_app
|
|
type: queries
|
|
- source: api_delete_app
|
|
target: model_generated_app
|
|
type: queries
|
|
- source: component_login_form
|
|
target: api_login_user
|
|
type: calls
|
|
- source: component_register_form
|
|
target: api_register_user
|
|
type: calls
|
|
- source: component_recording_list
|
|
target: component_recording_card
|
|
type: imports
|
|
- source: component_app_gallery
|
|
target: component_app_card
|
|
type: imports
|
|
- source: page_home
|
|
target: component_header
|
|
type: renders
|
|
- source: page_home
|
|
target: component_hero
|
|
type: renders
|
|
- source: page_home
|
|
target: component_features
|
|
type: renders
|
|
- source: page_login
|
|
target: component_login_form
|
|
type: renders
|
|
- source: page_register
|
|
target: component_register_form
|
|
type: renders
|
|
- source: page_dashboard
|
|
target: api_get_current_user
|
|
type: calls
|
|
- source: page_dashboard
|
|
target: api_list_recordings
|
|
type: calls
|
|
- source: page_dashboard
|
|
target: component_header
|
|
type: renders
|
|
- source: page_dashboard
|
|
target: component_sidebar
|
|
type: renders
|
|
- source: page_dashboard
|
|
target: component_record_button
|
|
type: renders
|
|
- source: page_dashboard
|
|
target: component_wake_word_indicator
|
|
type: renders
|
|
- source: page_dashboard
|
|
target: component_recording_list
|
|
type: renders
|
|
- source: page_recordings
|
|
target: api_list_recordings
|
|
type: calls
|
|
- source: page_recordings
|
|
target: component_header
|
|
type: renders
|
|
- source: page_recordings
|
|
target: component_sidebar
|
|
type: renders
|
|
- source: page_recordings
|
|
target: component_recording_list
|
|
type: renders
|
|
- source: page_recordings
|
|
target: component_recording_card
|
|
type: renders
|
|
- source: page_recording_detail
|
|
target: api_get_recording
|
|
type: calls
|
|
- source: page_recording_detail
|
|
target: component_header
|
|
type: renders
|
|
- source: page_recording_detail
|
|
target: component_sidebar
|
|
type: renders
|
|
- source: page_recording_detail
|
|
target: component_audio_player
|
|
type: renders
|
|
- source: page_recording_detail
|
|
target: component_transcript_viewer
|
|
type: renders
|
|
- source: page_recording_detail
|
|
target: component_summary_display
|
|
type: renders
|
|
- source: page_apps
|
|
target: api_list_apps
|
|
type: calls
|
|
- source: page_apps
|
|
target: component_header
|
|
type: renders
|
|
- source: page_apps
|
|
target: component_sidebar
|
|
type: renders
|
|
- source: page_apps
|
|
target: component_app_gallery
|
|
type: renders
|
|
- source: page_apps
|
|
target: component_app_card
|
|
type: renders
|
|
- source: page_app_detail
|
|
target: api_get_app
|
|
type: calls
|
|
- source: page_app_detail
|
|
target: component_header
|
|
type: renders
|
|
- source: page_app_detail
|
|
target: component_sidebar
|
|
type: renders
|
|
- source: page_app_detail
|
|
target: component_app_iframe_viewer
|
|
type: renders
|
|
dependency_chains:
|
|
model_user: []
|
|
model_recording:
|
|
- model_user
|
|
model_generated_app:
|
|
- model_user
|
|
- model_recording
|
|
api_register_user:
|
|
- model_user
|
|
api_login_user:
|
|
- model_user
|
|
api_logout_user: []
|
|
api_get_current_user:
|
|
- model_user
|
|
api_list_recordings:
|
|
- model_user
|
|
- model_recording
|
|
api_create_recording:
|
|
- model_user
|
|
- model_recording
|
|
api_get_recording:
|
|
- model_user
|
|
- model_recording
|
|
api_delete_recording:
|
|
- model_user
|
|
- model_recording
|
|
api_transcribe_recording:
|
|
- model_user
|
|
- model_recording
|
|
api_summarize_recording:
|
|
- model_user
|
|
- model_recording
|
|
- api_transcribe_recording
|
|
api_list_apps:
|
|
- model_user
|
|
- model_recording
|
|
- model_generated_app
|
|
api_generate_app:
|
|
- model_user
|
|
- model_recording
|
|
- model_generated_app
|
|
- api_transcribe_recording
|
|
- api_summarize_recording
|
|
api_get_app:
|
|
- model_user
|
|
- model_recording
|
|
- model_generated_app
|
|
api_delete_app:
|
|
- model_user
|
|
- model_recording
|
|
- model_generated_app
|
|
component_header: []
|
|
component_sidebar: []
|
|
component_hero: []
|
|
component_features: []
|
|
component_login_form:
|
|
- model_user
|
|
- api_login_user
|
|
component_register_form:
|
|
- model_user
|
|
- api_register_user
|
|
component_record_button: []
|
|
component_wake_word_indicator: []
|
|
component_recording_list:
|
|
- component_recording_card
|
|
component_recording_card: []
|
|
component_audio_player: []
|
|
component_transcript_viewer: []
|
|
component_summary_display: []
|
|
component_app_gallery:
|
|
- component_app_card
|
|
component_app_card: []
|
|
component_app_iframe_viewer: []
|
|
page_home:
|
|
- component_header
|
|
- component_hero
|
|
- component_features
|
|
page_login:
|
|
- model_user
|
|
- api_login_user
|
|
- component_login_form
|
|
page_register:
|
|
- model_user
|
|
- api_register_user
|
|
- component_register_form
|
|
page_dashboard:
|
|
- model_user
|
|
- api_get_current_user
|
|
- model_recording
|
|
- api_list_recordings
|
|
- component_header
|
|
- component_sidebar
|
|
- component_record_button
|
|
- component_wake_word_indicator
|
|
- component_recording_card
|
|
- component_recording_list
|
|
page_recordings:
|
|
- model_user
|
|
- model_recording
|
|
- api_list_recordings
|
|
- component_header
|
|
- component_sidebar
|
|
- component_recording_card
|
|
- component_recording_list
|
|
page_recording_detail:
|
|
- model_user
|
|
- model_recording
|
|
- api_get_recording
|
|
- component_header
|
|
- component_sidebar
|
|
- component_audio_player
|
|
- component_transcript_viewer
|
|
- component_summary_display
|
|
page_apps:
|
|
- model_user
|
|
- model_recording
|
|
- model_generated_app
|
|
- api_list_apps
|
|
- component_header
|
|
- component_sidebar
|
|
- component_app_card
|
|
- component_app_gallery
|
|
page_app_detail:
|
|
- model_user
|
|
- model_recording
|
|
- model_generated_app
|
|
- api_get_app
|
|
- component_header
|
|
- component_sidebar
|
|
- component_app_iframe_viewer
|
|
impact_chains:
|
|
model_user:
|
|
- model_recording
|
|
- model_generated_app
|
|
- api_list_apps
|
|
- page_apps
|
|
- api_generate_app
|
|
- api_get_app
|
|
- page_app_detail
|
|
- api_delete_app
|
|
- api_list_recordings
|
|
- page_dashboard
|
|
- page_recordings
|
|
- api_create_recording
|
|
- api_get_recording
|
|
- page_recording_detail
|
|
- api_delete_recording
|
|
- api_transcribe_recording
|
|
- api_summarize_recording
|
|
- api_register_user
|
|
- component_register_form
|
|
- page_register
|
|
- api_login_user
|
|
- component_login_form
|
|
- page_login
|
|
- api_get_current_user
|
|
model_recording:
|
|
- model_generated_app
|
|
- api_list_apps
|
|
- page_apps
|
|
- api_generate_app
|
|
- api_get_app
|
|
- page_app_detail
|
|
- api_delete_app
|
|
- api_list_recordings
|
|
- page_dashboard
|
|
- page_recordings
|
|
- api_create_recording
|
|
- api_get_recording
|
|
- page_recording_detail
|
|
- api_delete_recording
|
|
- api_transcribe_recording
|
|
- api_summarize_recording
|
|
model_generated_app:
|
|
- api_list_apps
|
|
- page_apps
|
|
- api_generate_app
|
|
- api_get_app
|
|
- page_app_detail
|
|
- api_delete_app
|
|
api_register_user:
|
|
- component_register_form
|
|
- page_register
|
|
api_login_user:
|
|
- component_login_form
|
|
- page_login
|
|
api_logout_user: []
|
|
api_get_current_user:
|
|
- page_dashboard
|
|
api_list_recordings:
|
|
- page_dashboard
|
|
- page_recordings
|
|
api_create_recording: []
|
|
api_get_recording:
|
|
- page_recording_detail
|
|
api_delete_recording: []
|
|
api_transcribe_recording:
|
|
- api_summarize_recording
|
|
- api_generate_app
|
|
api_summarize_recording:
|
|
- api_generate_app
|
|
api_list_apps:
|
|
- page_apps
|
|
api_generate_app: []
|
|
api_get_app:
|
|
- page_app_detail
|
|
api_delete_app: []
|
|
component_header:
|
|
- page_home
|
|
- page_dashboard
|
|
- page_recordings
|
|
- page_recording_detail
|
|
- page_apps
|
|
- page_app_detail
|
|
component_sidebar:
|
|
- page_dashboard
|
|
- page_recordings
|
|
- page_recording_detail
|
|
- page_apps
|
|
- page_app_detail
|
|
component_hero:
|
|
- page_home
|
|
component_features:
|
|
- page_home
|
|
component_login_form:
|
|
- page_login
|
|
component_register_form:
|
|
- page_register
|
|
component_record_button:
|
|
- page_dashboard
|
|
component_wake_word_indicator:
|
|
- page_dashboard
|
|
component_recording_list:
|
|
- page_dashboard
|
|
- page_recordings
|
|
component_recording_card:
|
|
- component_recording_list
|
|
- page_dashboard
|
|
- page_recordings
|
|
component_audio_player:
|
|
- page_recording_detail
|
|
component_transcript_viewer:
|
|
- page_recording_detail
|
|
component_summary_display:
|
|
- page_recording_detail
|
|
component_app_gallery:
|
|
- page_apps
|
|
component_app_card:
|
|
- component_app_gallery
|
|
- page_apps
|
|
component_app_iframe_viewer:
|
|
- page_app_detail
|
|
page_home: []
|
|
page_login: []
|
|
page_register: []
|
|
page_dashboard: []
|
|
page_recordings: []
|
|
page_recording_detail: []
|
|
page_apps: []
|
|
page_app_detail: []
|
|
type_mappings:
|
|
model_user:
|
|
id: uuid
|
|
email: string
|
|
name: string
|
|
password_hash: string
|
|
model_recording:
|
|
id: uuid
|
|
user_id: uuid
|
|
title: string
|
|
audio_file_path: string
|
|
duration: integer
|
|
transcript: text
|
|
summary: text
|
|
is_transcribing: boolean
|
|
model_generated_app:
|
|
id: uuid
|
|
user_id: uuid
|
|
recording_id: uuid
|
|
title: string
|
|
description: text
|
|
html_content: text
|
|
prd_content: text
|
|
ui_ux_design: text
|
|
app_type: string
|
|
status: enum
|
|
api_register_user:
|
|
id: uuid
|
|
email: string
|
|
name: string
|
|
created_at: datetime
|
|
api_login_user:
|
|
user: object
|
|
token: string
|
|
api_logout_user:
|
|
success: boolean
|
|
api_get_current_user:
|
|
id: uuid
|
|
email: string
|
|
name: string
|
|
created_at: datetime
|
|
api_list_recordings:
|
|
recordings: array
|
|
total: integer
|
|
api_create_recording:
|
|
id: uuid
|
|
title: string
|
|
audio_file_path: string
|
|
duration: integer
|
|
created_at: datetime
|
|
api_get_recording:
|
|
id: uuid
|
|
title: string
|
|
audio_file_path: string
|
|
duration: integer
|
|
transcript: string
|
|
summary: string
|
|
is_transcribing: boolean
|
|
created_at: datetime
|
|
api_delete_recording:
|
|
success: boolean
|
|
api_transcribe_recording:
|
|
recording_id: uuid
|
|
is_transcribing: boolean
|
|
api_summarize_recording:
|
|
recording_id: uuid
|
|
summary: string
|
|
api_list_apps:
|
|
apps: array
|
|
total: integer
|
|
api_generate_app:
|
|
id: uuid
|
|
recording_id: uuid
|
|
status: string
|
|
api_get_app:
|
|
id: uuid
|
|
recording_id: uuid
|
|
title: string
|
|
description: string
|
|
html_content: string
|
|
app_type: string
|
|
status: string
|
|
created_at: datetime
|
|
api_delete_app:
|
|
success: boolean
|
|
component_header:
|
|
user: User | null
|
|
component_sidebar:
|
|
activePath: string
|
|
component_hero: {}
|
|
component_features: {}
|
|
component_login_form: {}
|
|
component_register_form: {}
|
|
component_record_button:
|
|
isRecording: boolean
|
|
isTranscribing: boolean
|
|
component_wake_word_indicator:
|
|
isListening: boolean
|
|
wakeWord: string
|
|
component_recording_list:
|
|
recordings: Recording[]
|
|
isLoading: boolean
|
|
component_recording_card:
|
|
recording: Recording
|
|
showActions: boolean
|
|
component_audio_player:
|
|
audioUrl: string
|
|
duration: integer
|
|
component_transcript_viewer:
|
|
transcript: string
|
|
isLive: boolean
|
|
component_summary_display:
|
|
summary: string
|
|
isLoading: boolean
|
|
component_app_gallery:
|
|
apps: GeneratedApp[]
|
|
isLoading: boolean
|
|
component_app_card:
|
|
app: GeneratedApp
|
|
showActions: boolean
|
|
component_app_iframe_viewer:
|
|
htmlContent: string
|
|
title: string
|
|
issues:
|
|
circular_dependencies: []
|
|
statistics:
|
|
total_entities: 41
|
|
total_relations: 110
|
|
by_type:
|
|
database: 3
|
|
api: 14
|
|
component: 16
|
|
page: 8
|
|
by_layer:
|
|
1_database: 3
|
|
2_api: 14
|
|
3_component: 16
|
|
4_page: 8
|