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: