Skip to content

Definition

John Horback edited this page Nov 16, 2021 · 3 revisions

Events

  • Events are the building blocks of a plot
  • They are flexible and can be anything such as scenes, notes, or passage of time.
  • Event data is stored with its plot

Plots

  • Plots are collections of events
  • Events in a plot are in story order
  • When viewing a single plot a feature to view sequential order can be implemented.

Plot Data

Story

Review this data structure:

{
    ownerId: Number,
    lastModified: Date,
    id: Number,
    title: String,
    description: String,
    settings: [{
        settingId: Number
    }],
    characters: [{
        characterId: Number
    }],
    plots: [{
        id: Number,
        storyId: Number,
        name: String,
        description: String,
        color: String,
        events: [{
            id: Number,
            settingId: Number,
            characters: [{
                characterId: Number
            }],
            description: String,
            type: String, // ? Backstory, Scene, Time, Note
            prose: String, // the actual story content
            sequentialOrder: Number, // potential feature
            dateTime: Date // could support/set sequential order
        }],
        characters: [{
            characterId: Number,
            plotPoint: String
        }],
        settings: [{
            settingId: Number,
            plotPoint: String
        }]
    }],
    chapters: [{
        id: "id",
        name: "chapter 0",
        sections: [{
            id: "id",
            name: "section 0",
            events: [
                {
                    plotId: "id",
                    eventId: "id"
                }
            ]
        }]
    }]
}

Collection Data

{
    ownerId: Number,
    id: Number,
    name: String,
    stories: [{
        storyId: Number
    }],
    characters: [{
        id: Number,
        name: String,
        description: String,
        significantEvents: [{
            storyId: Number,
            plotId: Number,
            eventId: Number
        }],
        // other meta data?
    }],
    settings: [{
        id: Number,
        name: String,
        description: String,
        // other meta data?
    }]
}

StoryVersion Data

{
    id: Number,
    userId: Number
    dateTime: Date,
    name: String,
    description: String,
    story: {
        // same structure as StoryData
        // but the plots are inline and not
        // stored by reference
    }
}

User Data

{
    id: Number,
    username: String,
    fullName: String,
    avatar: String
}

Clone this wiki locally