Added Phase 5 Architecture document

This commit is contained in:
Nick Beckley 2026-06-07 09:26:03 +01:00
parent 621d138571
commit 63597a8f65

View File

@ -0,0 +1,262 @@
# PlotWeaver Studio
# Phase 5 -- Multi-User, Collaboration & Subscription Architecture
Version: 1.0\
Status: Approved Architecture Document\
Date: June 2026
## Purpose
Phase 5 introduces multi-user support, subscriptions, collaboration
capabilities, storage management, auditing, and monetisation foundations
to PlotWeaver Studio.
The goal is to transform PlotWeaver Studio from a single-user authoring
platform into a secure SaaS application while preserving its core
philosophy as a planning and writing workspace for authors.
## Core Principles
- PlotWeaver Studio is an active workspace, not a permanent archive.
- Security takes precedence over convenience.
- Collaboration supports planning, not real-time writing.
- Subscription limits should be generous but prevent abuse.
## Definitions
### User
Authenticated account holder within PlotWeaver Studio.
### Project
Highest-level container which may represent a standalone book or an
entire series.
### Book
A single book within a project. Subscription limits are enforced against
books.
### Owner
The user who created a project and manages collaborators.
### Collaborator
A user granted edit access to another user's project.
### Subscription
Defines usage limits and capabilities.
## Security Architecture
Project access shall be determined through ProjectUserAccess records.
Access checks must answer:
> Can this user access this project?
Not:
> Does this user own this project?
### Access Roles
#### Owner
- Full project access
- Invite/remove collaborators
- Delete projects
- Export projects
#### Collaborator
- View projects
- Edit projects
Restrictions: - Cannot delete projects - Cannot invite collaborators -
Cannot transfer ownership - Cannot manage subscriptions
Viewer-only access is explicitly excluded from Phase 5.
### ProjectUserAccess
Fields:
- ProjectUserAccessID
- ProjectID
- UserID
- AccessRole
- InvitedByUserID
- InvitedDateUTC
- AcceptedDateUTC
- IsActive
All project-scoped operations must validate user access.
Protected areas include:
- Projects
- Books
- Chapters
- Scenes
- Timeline
- Characters
- Assets
- Locations
- Plot Lines
- Relationships
- Workspace
- Imports
- Exports
- Attachments
## Subscription Levels
### Draft Desk
- Books: 2
- Chapters per Book: 75
- Scenes per Book: 300
- Characters per Project: 75
- Storage: 100 MB
- Collaborators: 0
### Writing Room
- Books: 10
- Chapters per Book: 150
- Scenes per Book: 1000
- Characters per Project: 250
- Storage: 1 GB
- Collaborators: 1
### Story Forge
- Books: 30
- Chapters per Book: 200
- Scenes per Book: 2000
- Characters per Project: 500
- Storage: 5 GB
- Collaborators: 3
### Author Studio
- Books: Practical unlimited
- Chapters: Practical unlimited
- Scenes: Practical unlimited
- Characters: Practical unlimited
- Storage: 20 GB
- Collaborators: 10
## Collaboration Requirements
Supported:
- Invite collaborators
- Remove collaborators
- View collaborator lists
Excluded:
- Real-time editing
- Internal messaging
- Viewer-only roles
- Conflict resolution
- Ownership transfer
## Audit Requirements
Major entities should support:
- CreatedByUserID
- CreatedDateUTC
- ModifiedByUserID
- ModifiedDateUTC
Track activity for:
- Projects
- Books
- Chapters
- Scenes
- Characters
- Assets
- Locations
- Plot Lines
- Relationships
The audit system should answer:
> Who changed what and when?
## Storage Management
- Storage tracked per user
- Limits enforced by subscription
- Restrict file types
- Resize uploaded images
- Convert images to WebP
- Remove unnecessary metadata
Timeline and planning interfaces should remain fast and primarily
text-based.
## Export and Archiving
Projects should support export including:
- Project data
- Images
- Attachments
Archive workflow:
1. Export project
2. Offer download
3. Remove from active workspace
## Payment Integration
Stripe will be introduced only after:
- Security is complete
- Subscription infrastructure exists
- Limit enforcement is operational
## Phase 5 Implementation Order
1. Phase 5A -- Project Ownership & Security
2. Phase 5B -- Subscription Infrastructure
3. Phase 5C -- Subscription Limit Enforcement
4. Phase 5D -- Collaboration Foundation
5. Phase 5E -- Audit History & Activity Tracking
6. Phase 5F -- Storage Management
7. Phase 5G -- Export & Archiving
8. Phase 5H -- Subscription Management UI
9. Phase 5I -- Stripe Payment Integration
## Out of Scope
- Real-time collaborative editing
- Internal messaging systems
- Viewer-only roles
- AI collaboration workflows
- Team organisations
- Ownership transfer
- Conflict resolution systems
## Success Criteria
Phase 5 is complete when:
- Project access is secure
- Subscription limits are enforced
- Collaboration functions safely
- Audit history is available
- Storage limits are operational
- Projects can be exported and archived
- Payment processing is integrated successfully