38873-vm/seed_data.php
Flatlogic Bot 409309595e v41
2026-02-28 20:57:50 +00:00

270 lines
12 KiB
PHP

<?php
require_once __DIR__ . '/db/config.php';
$db = db();
function hash_pass($p) {
return password_hash($p, PASSWORD_DEFAULT);
}
// Clear existing data to avoid conflicts during re-seed
$db->exec("SET FOREIGN_KEY_CHECKS = 0");
$tables = [
'ai_chats',
'blocked_users',
'faqs',
'funding_rounds',
'investments',
'matches',
'messages',
'notifications',
'startup_followers',
'startup_updates',
'startups',
'swipes',
'users'
];
foreach ($tables as $table) {
$db->exec("TRUNCATE TABLE $table");
}
$db->exec("SET FOREIGN_KEY_CHECKS = 1");
$founders = [
[
'full_name' => 'Alex Chen',
'email' => 'alex.chen@founder.io',
'role' => 'founder',
'university' => 'Stanford University',
'graduation_year' => 2018,
'bio' => 'Former software engineer at Google with a passion for logistics and AI.',
'interests' => 'AI, Logistics, E-commerce',
'country' => 'United States of America',
'cv_url' => 'assets/docs/cvs/placeholder.pdf',
'skills' => 'Python, TensorFlow, Cloud Architecture',
'years_experience' => 5,
'previous_startup_exp' => 1,
'startup_name' => 'LogiAI',
'legal_name' => 'LogiAI Systems Inc.',
'startup_desc' => 'AI-powered predictive analytics for global supply chain optimization.',
'industry' => 'AI & Robotics',
'sub_industry' => 'Logistics Tech',
'business_model' => 'B2B SaaS subscription model based on shipment volume.',
'product_service' => 'Predictive analytics dashboard and API for freight forwarders.',
'operational_stage' => 'Revenue-generating',
'cofounder_equity_pct' => '10-15%',
'cofounder_equity_type' => 'Options',
'cofounder_responsibilities' => 'Oversee hardware integrations and edge computing strategy.',
'desired_cofounder_experience' => 'Hardware engineering, IoT systems.',
'cofounder_commitment' => 'Full-time',
'other_partnership_details' => 'Preference for candidates with previous exit experience.',
'current_cash_balance' => 450000.00,
'burn_rate' => 25000.00,
'outstanding_debt' => '£50k Convertible Note',
'accounts_receivable_payable' => '£80k / £20k',
'funding_target' => 500000.00,
'recommended_return_rate' => 7.5,
'founder_return_rate' => 8.0
],
[
'full_name' => 'Sarah Jenkins',
'email' => 'sarah.j@sea-pack.com',
'role' => 'founder',
'university' => 'Oxford University',
'graduation_year' => 2015,
'bio' => 'Marine biologist turned entrepreneur.',
'interests' => 'Sustainability, Marine Biology',
'country' => 'United Kingdom',
'cv_url' => 'assets/docs/cvs/placeholder.pdf',
'skills' => 'Biochemistry, Product Development',
'years_experience' => 8,
'previous_startup_exp' => 0,
'startup_name' => 'SeaPack',
'legal_name' => 'SeaPack Solutions Ltd',
'startup_desc' => 'Biodegradable packaging solutions derived from cultivated seaweed.',
'industry' => 'Clean Energy',
'sub_industry' => 'Sustainable Packaging',
'business_model' => 'Direct-to-manufacturer wholesale of raw biopolymer sheets.',
'product_service' => 'Seaweed-based alternative to plastic shrink wrap.',
'operational_stage' => 'MVP',
'cofounder_equity_pct' => '20%',
'cofounder_equity_type' => 'Common Shares',
'cofounder_responsibilities' => 'Lead sales and business development efforts globally.',
'desired_cofounder_experience' => 'FMCG sales, supply chain networking.',
'cofounder_commitment' => 'Full-time',
'other_partnership_details' => 'Seeking someone with strong ties to major retail brands.',
'current_cash_balance' => 85000.00,
'burn_rate' => 8000.00,
'outstanding_debt' => 'None',
'accounts_receivable_payable' => '£5k / £2k',
'funding_target' => 250000.00,
'recommended_return_rate' => 12.0,
'founder_return_rate' => 10.5
],
[
'full_name' => 'Marco Rossi',
'email' => 'm.rossi@finflow.it',
'role' => 'founder',
'university' => 'Bocconi University',
'graduation_year' => 2012,
'bio' => 'Finance veteran with 10 years in investment banking.',
'interests' => 'Fintech, Banking, Blockchain',
'country' => 'Italy',
'cv_url' => 'assets/docs/cvs/placeholder.pdf',
'skills' => 'Financial Modeling, Compliance',
'years_experience' => 12,
'previous_startup_exp' => 1,
'startup_name' => 'FinFlow',
'legal_name' => 'FinFlow Payments S.p.A.',
'startup_desc' => 'Unified payment orchestration for SMEs operating across European borders.',
'industry' => 'Fintech',
'sub_industry' => 'Cross-border Payments',
'business_model' => 'Transaction fee (0.5%) on cross-border settlements.',
'product_service' => 'API-first payment gateway for multi-currency invoicing.',
'operational_stage' => 'Scaling',
'cofounder_equity_pct' => '5-8%',
'cofounder_equity_type' => 'Founder Shares',
'cofounder_responsibilities' => 'Chief Technology Officer - manage engineering team and security.',
'desired_cofounder_experience' => 'Scalable backend systems, FinTech compliance.',
'cofounder_commitment' => 'Full-time',
'other_partnership_details' => 'Must be based in or willing to relocate to Milan.',
'current_cash_balance' => 1200000.00,
'burn_rate' => 95000.00,
'outstanding_debt' => '£200k Venture Debt',
'accounts_receivable_payable' => '£400k / £150k',
'funding_target' => 1200000.00,
'recommended_return_rate' => 5.5,
'founder_return_rate' => 6.0
]
];
$investors = [
[
'full_name' => 'Sofia Moretti',
'email' => 'sofia@moretti-capital.com',
'role' => 'investor',
'bio' => 'Managing Partner at Moretti Capital.',
'interests' => 'Renewables, Sustainability',
'investment_appetite' => '$100k - $500k',
'country' => 'Italy'
],
[
'full_name' => 'Robert Sterling',
'email' => 'robert@sterling-ventures.com',
'role' => 'investor',
'bio' => 'Angel investor with a background in SaaS.',
'interests' => 'SaaS, B2B',
'investment_appetite' => '$50k - $250k',
'country' => 'United States of America'
]
];
$stmt_user = $db->prepare("INSERT INTO users (full_name, email, password, role, university, graduation_year, bio, interests, country, cv_url, skills, years_experience, previous_startup_exp, investment_appetite, verified, onboarding_completed)
VALUES (:full_name, :email, :password, :role, :university, :graduation_year, :bio, :interests, :country, :cv_url, :skills, :years_experience, :previous_startup_exp, :investment_appetite, 1, 1)");
$stmt_startup = $db->prepare("INSERT INTO startups (
name, description, founder_id, funding_target, status,
legal_name, country, industry, sub_industry, business_model, product_service, operational_stage,
cofounder_equity_pct, cofounder_equity_type, cofounder_responsibilities, desired_cofounder_experience, cofounder_commitment, other_partnership_details,
current_cash_balance, burn_rate, outstanding_debt, accounts_receivable_payable,
doc_income_statements, doc_balance_sheets, doc_cash_flow_statements, doc_revenue_breakdown, doc_gross_margin, doc_opex_breakdown,
recommended_return_rate, founder_return_rate
) VALUES (
:name, :description, :founder_id, :funding_target, 'public',
:legal_name, :country, :industry, :sub_industry, :business_model, :product_service, :operational_stage,
:cofounder_equity_pct, :cofounder_equity_type, :cofounder_responsibilities, :desired_cofounder_experience, :cofounder_commitment, :other_partnership_details,
:current_cash_balance, :burn_rate, :outstanding_debt, :accounts_receivable_payable,
'assets/docs/financials/placeholder.pdf', 'assets/docs/financials/placeholder.pdf', 'assets/docs/financials/placeholder.pdf', 'assets/docs/financials/placeholder.pdf', 'assets/docs/financials/placeholder.pdf', 'assets/docs/financials/placeholder.pdf',
:recommended_return_rate, :founder_return_rate)");
$stmt_round = $db->prepare("INSERT INTO funding_rounds (startup_id, funding_goal, status) VALUES (:startup_id, :funding_goal, 'Active')");
// Create CV directory if not exists
if (!is_dir('assets/docs/cvs/')) {
mkdir('assets/docs/cvs/', 0777, true);
}
// Create placeholder CV if not exists
if (!file_exists('assets/docs/cvs/placeholder.pdf')) {
file_put_contents('assets/docs/cvs/placeholder.pdf', '%PDF-1.4 Placeholder CV');
}
echo "Seeding founders...\n";
foreach ($founders as $f) {
$stmt_user->execute([
':full_name' => $f['full_name'],
':email' => $f['email'],
':password' => hash_pass('password123'),
':role' => $f['role'],
':university' => $f['university'],
':graduation_year' => $f['graduation_year'],
':bio' => $f['bio'],
':interests' => $f['interests'],
':country' => $f['country'],
':cv_url' => $f['cv_url'] ?? NULL,
':skills' => $f['skills'],
':years_experience' => $f['years_experience'],
':previous_startup_exp' => $f['previous_startup_exp'],
':investment_appetite' => NULL
]);
$founder_id = $db->lastInsertId();
if ($founder_id) {
$stmt_startup->execute([
':name' => $f['startup_name'],
':description' => $f['startup_desc'],
':founder_id' => $founder_id,
':funding_target' => $f['funding_target'],
':legal_name' => $f['legal_name'],
':country' => $f['country'],
':industry' => $f['industry'],
':sub_industry' => $f['sub_industry'],
':business_model' => $f['business_model'],
':product_service' => $f['product_service'],
':operational_stage' => $f['operational_stage'],
':cofounder_equity_pct' => $f['cofounder_equity_pct'],
':cofounder_equity_type' => $f['cofounder_equity_type'],
':cofounder_responsibilities' => $f['cofounder_responsibilities'],
':desired_cofounder_experience' => $f['desired_cofounder_experience'],
':cofounder_commitment' => $f['cofounder_commitment'],
':other_partnership_details' => $f['other_partnership_details'],
':current_cash_balance' => $f['current_cash_balance'],
':burn_rate' => $f['burn_rate'],
':outstanding_debt' => $f['outstanding_debt'],
':accounts_receivable_payable' => $f['accounts_receivable_payable'],
':recommended_return_rate' => $f['recommended_return_rate'],
':founder_return_rate' => $f['founder_return_rate']
]);
$startup_id = $db->lastInsertId();
$stmt_round->execute([
':startup_id' => $startup_id,
':funding_goal' => $f['funding_target']
]);
echo "Created founder {" . $f['full_name'] . "} and startup {" . $f['startup_name'] . "}\n";
}
}
echo "Seeding investors...\n";
foreach ($investors as $i) {
$stmt_user->execute([
':full_name' => $i['full_name'],
':email' => $i['email'],
':password' => hash_pass('password123'),
':role' => $i['role'],
':university' => NULL,
':graduation_year' => NULL,
':bio' => $i['bio'],
':interests' => $i['interests'],
':country' => $i['country'],
':cv_url' => NULL,
':skills' => NULL,
':years_experience' => 0,
':previous_startup_exp' => 0,
':investment_appetite' => $i['investment_appetite']
]);
if ($db->lastInsertId()) {
echo "Created investor {" . $i['full_name'] . "}\n";
}
}
echo "Done!\n";