1.5 KiB
1.5 KiB
Data Models
The following data models will be implemented using SQLAlchemy.
1. User
Purpose: Stores user credentials and role information.
Key Attributes:
id: Integer, Primary Keyusername: String, Unique, Not Nullhashed_password: String, Not Nullrole: String, Not Null ("Admin" or "User")
Relationships: A User can have many Projects.
2. Project
Purpose: Represents a single content generation job initiated from a CORA report.
Key Attributes:
id: Integer, Primary Keyuser_id: Integer, Foreign Key to Userproject_name: String, Not Nullcora_data: JSON (stores extracted keywords, entities, etc.)status: String (e.g., "Pending", "Generating", "Complete")
Relationships: A Project belongs to one User and has many GeneratedContents.
3. GeneratedContent
Purpose: Stores the AI-generated content and its final deployed state.
Key Attributes:
id: Integer, Primary Keyproject_id: Integer, Foreign Key to Projecttitle: Textoutline: Textbody_text: Textfinal_html: Textdeployed_url: String, Uniquetier: String (for link classification)
Relationships: Belongs to one Project.
4. FqdnMapping
Purpose: Maps cloud storage buckets to fully qualified domain names for URL generation.
Key Attributes:
id: Integer, Primary Keybucket_name: String, Not Nullprovider: String, Not Null (e.g., "aws", "bunny", "azure")fqdn: String, Not Null
Relationships: None.