future-thinkers

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

  1. Not overcomplicating columns or tables with unneeded columns for meta data that is different for each type of block.
  2. 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

Meta Schema

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)
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

GPT Chats: