POV > Database
Background
Not meant to be actual code, just a high level overview to align together on what the heck this DB will look like.
Blueprints
- Not overcomplicating columns or tables with unneeded columns for meta data that is different for each type of block.
- Making sure to know when all data is changed, created, etc. for knowing which version of the app was used and supported.
Tables
All Tables
Column Name |
Type |
Description |
id |
UUID |
Unique identifier for the table |
version |
String |
Version of the app that created the record |
created_at |
Date |
Date the block type was created |
updated_at |
Date? |
Date the block type was last updated |
deleted_at |
Date? |
Date the block type was deleted |
last_synced_at |
Date? |
Date the data was synced from API. Extremely useful for times to compare for stale data on new fetches. |
Episodes
Column Name |
Type |
Description |
name |
String |
Name of the scene |
Blocks
Column Name |
Type |
Description |
block_type_id |
UUID |
Reference to the block type |
episode_id |
UUID |
Reference to the scene |
content |
Text? |
Content of the block |
placeholder |
Text? |
Placeholder text for the block |
meta |
JSON |
Meta data for the block |
review_date |
Date? |
Date the block was review |
approved |
Boolean? |
If the block was approved |
start_time |
Date |
Start time of the block, also used for sort order and mitigates need for sorting index data |
end_time |
Date? |
End time of the block (optional?) |
plot_id |
UUID |
Reference to the plot |
Example Block:
{
"block_type": "Cue",
"placeholder": "SUNRISES in Melissa, TX It’s 61°F ",
"content": "",
"meta": {
"location": "1.0000, 1.20000",
"weather": "61°F",
"date": "2024-01-01",
},
"review_date": null,
"approved": null,
"start_time": "2024-01-01T06:30:00Z",
}
Block Types
Column Name |
Type |
Description |
name |
String |
Name of the block type |
Example Sunrise:
{
"location": "String",
"weather": "String",
"date": "Date",
}
Example Drive:
{
"location": "String",
}
Notes (which will also contain Storyboard data)
Column Name |
Type |
Description |
note_type_id |
UUID |
Reference to the note type () |
associated_id |
UUID |
Reference to the block |
associated_type |
Text |
Which table to query? |
content |
Text? |
Content of the notes, like captions for rich media |
meta |
JSON |
Meta data for the notes, like |
start_time |
Date |
Start time of the notes, also used for sort order and mitigates need for sorting index data |
Note Types
Column Name |
Type |
Description |
name |
String |
Name of the note type (text, emotion) |
Links
Column Name |
Type |
Description |
text |
Text |
Text to query/display different |
Plots
Column Name |
Type |
Description |
name |
UUID |
Shortened view of what the plot’s point is. Like a log line |
color |
Text |
Representation of the color, smart defaults chosen at creation or read |
review_date |
Date? |
Date the plot was review |
approved |
Boolean? |
If the plot was approved |
meta |
JSON |
Meta data for the plot, potential place to put associated words for suggestions and source of calendar to inform plot |
Seed Data
- Heading
- Text
-
Cue
Future:
- Dialog
- Action
- Parenthetical
GPT Chats: