Base code

This commit is contained in:
Kunthawat Greethong
2026-01-08 22:39:53 +07:00
parent 697115c61a
commit c35fa52117
2169 changed files with 626670 additions and 0 deletions

159
backend/test/check_db.py Normal file
View File

@@ -0,0 +1,159 @@
#!/usr/bin/env python3
"""
Database check and sample data creation script
"""
from services.database import get_db_session
from models.content_planning import ContentStrategy, ContentGapAnalysis, AIAnalysisResult
from sqlalchemy.orm import Session
import json
def check_database():
"""Check what data exists in the database"""
db = get_db_session()
try:
# Check strategies
strategies = db.query(ContentStrategy).all()
print(f"Found {len(strategies)} strategies")
for strategy in strategies:
print(f" Strategy {strategy.id}: {strategy.name} - {strategy.industry}")
# Check gap analyses
gap_analyses = db.query(ContentGapAnalysis).all()
print(f"Found {len(gap_analyses)} gap analyses")
# Check AI analytics
ai_analytics = db.query(AIAnalysisResult).all()
print(f"Found {len(ai_analytics)} AI analytics")
except Exception as e:
print(f"Error checking database: {e}")
finally:
db.close()
def create_sample_data():
"""Create sample data for Strategic Intelligence and Keyword Research tabs"""
db = get_db_session()
try:
# Create a sample strategy if none exists
existing_strategies = db.query(ContentStrategy).all()
if not existing_strategies:
sample_strategy = ContentStrategy(
name="Sample Content Strategy",
industry="Digital Marketing",
target_audience={"demographics": "Small to medium businesses", "interests": ["marketing", "technology"]},
content_pillars=["Educational Content", "Thought Leadership", "Case Studies"],
ai_recommendations={
"market_positioning": {
"score": 75,
"strengths": ["Strong brand voice", "Consistent content quality"],
"weaknesses": ["Limited video content", "Slow content production"]
},
"competitive_advantages": [
{"advantage": "AI-powered content creation", "impact": "High", "implementation": "In Progress"},
{"advantage": "Data-driven strategy", "impact": "Medium", "implementation": "Complete"}
],
"strategic_risks": [
{"risk": "Content saturation in market", "probability": "Medium", "impact": "High"},
{"risk": "Algorithm changes affecting reach", "probability": "High", "impact": "Medium"}
]
},
user_id=1
)
db.add(sample_strategy)
db.commit()
print("Created sample strategy")
# Create sample gap analysis
existing_gaps = db.query(ContentGapAnalysis).all()
if not existing_gaps:
sample_gap = ContentGapAnalysis(
website_url="https://example.com",
competitor_urls=["competitor1.com", "competitor2.com"],
target_keywords=["content marketing", "digital strategy", "SEO"],
analysis_results={
"gaps": ["Video content gap", "Local SEO opportunities"],
"opportunities": [
{"keyword": "AI content tools", "search_volume": "5K-10K", "competition": "Low", "cpc": "$2.50"},
{"keyword": "content marketing ROI", "search_volume": "1K-5K", "competition": "Medium", "cpc": "$4.20"}
]
},
recommendations=[
{
"type": "content",
"title": "Create video tutorials",
"description": "Address the video content gap",
"priority": "high"
},
{
"type": "seo",
"title": "Optimize for local search",
"description": "Target local keywords",
"priority": "medium"
}
],
user_id=1
)
db.add(sample_gap)
db.commit()
print("Created sample gap analysis")
# Create sample AI analytics
existing_ai = db.query(AIAnalysisResult).all()
if not existing_ai:
sample_ai = AIAnalysisResult(
analysis_type="strategic_intelligence",
insights=[
"Focus on video content to address market gap",
"Leverage AI tools for competitive advantage",
"Monitor algorithm changes closely"
],
recommendations=[
{
"type": "content",
"title": "Increase video content production",
"description": "Address the video content gap identified in analysis",
"priority": "high"
},
{
"type": "strategy",
"title": "Implement AI-powered content creation",
"description": "Leverage AI tools for competitive advantage",
"priority": "medium"
}
],
performance_metrics={
"content_engagement": 78.5,
"traffic_growth": 25.3,
"conversion_rate": 2.1
},
personalized_data_used={
"onboarding_data": True,
"user_preferences": True,
"historical_performance": True
},
processing_time=15.2,
ai_service_status="operational",
user_id=1
)
db.add(sample_ai)
db.commit()
print("Created sample AI analytics")
except Exception as e:
print(f"Error creating sample data: {e}")
db.rollback()
finally:
db.close()
if __name__ == "__main__":
print("Checking database...")
check_database()
print("\nCreating sample data...")
create_sample_data()
print("\nFinal database state:")
check_database()