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 |

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: