feat(seeder): add Stark Industries, Los Pollos Hermanos & Springfield Nuclear

🦸 Stark Industries (Marvel) - 8 vagas
   - Arquiteto de Cloud para J.A.R.V.I.S.
   - DevOps Engineer do Arc Reactor
   - ML Engineer para Iron Man Suits
   - Security Engineer Anti-Hydra

🐔 Los Pollos Hermanos (Breaking Bad) - 4 vagas
   - Engenheiro de Redes Air-Gapped
   - Dev Fullstack de Logística Fantasma
   - Pentester (Gus Fring approved)

☢️ Springfield Nuclear Power Plant (Simpsons) - 4 vagas
   - Admin COBOL/Mainframe (since 1970)
   - Dev PHP 4/jQuery (budget: $0)
   - Safety Officer: Homer J. Simpson

Total: 34 empresas, 1075+ vagas
This commit is contained in:
Tiago Yamamoto 2025-12-22 22:37:47 -03:00
parent e6bc791ee8
commit 92c61d450f
3 changed files with 458 additions and 2 deletions

View file

@ -38,6 +38,52 @@ A ACME Corp é nossa empresa especial com **69 vagas de tecnologia com humor**,
- 🎨 UX Designer de Dinamite
- E mais 62 vagas hilárias...
---
## 🦸 Stark Industries (Marvel)
> "Changing the World for a Better Tomorrow"
**8 vagas** de alta tecnologia no universo Marvel:
- ☁️ Arquiteto de Cloud para J.A.R.V.I.S.
- ⚡ DevOps Engineer do Arc Reactor
- 🤖 ML Engineer para Iron Man Suits
- 🛡️ Security Engineer Anti-Hydra
- 🔬 Nanotechnology Software Engineer
**Sede:** Stark Tower, Manhattan, NY
---
## 🐔 Los Pollos Hermanos (Breaking Bad)
> "Taste the Family!"
**4 vagas** para quem gosta de discrição absoluta:
- 🔒 Engenheiro de Redes Air-Gapped
- 👻 Dev Fullstack de Logística Fantasma
- 🎯 Pentester Especialista em Segurança Ofensiva
- 🗄️ DBA com Expertise em Data Purge
**CEO:** Gustavo Fring
**Nota:** NDA de 847 páginas obrigatório
---
## ☢️ Springfield Nuclear Power Plant (Simpsons)
> "Excellent..."
**4 vagas** com orçamento mínimo do Sr. Burns:
- 💾 Administrador de Sistemas COBOL/Mainframe (desde 1970)
- 🐘 Dev Fullstack Low Cost (PHP 4 / jQuery)
- 📹 Especialista em Cyber-Segurança e Vigilância
- 📊 Engenheiro de Dados e Analytics de Produtividade
**CEO:** C. Montgomery Burns (103 anos)
**Inspetor de Segurança:** Homer J. Simpson
---
## 🚀 Uso

View file

@ -6,6 +6,7 @@ import { seedCompanies } from './seeders/companies.js';
import { seedJobs } from './seeders/jobs.js';
import { seedApplications } from './seeders/applications.js';
import { seedAcmeCorp, seedWileECoyote } from './seeders/acme.js';
import { seedFictionalCompanies } from './seeders/fictional-companies.js';
async function resetDatabase() {
console.log('🗑️ Resetting database...');
@ -61,6 +62,7 @@ async function seedDatabase() {
await seedJobs();
await seedAcmeCorp(); // 🏭 ACME Corp + 69 vagas hilariantes
await seedWileECoyote(); // 🐺 Wile E. Coyote user
await seedFictionalCompanies(); // 🎬 Stark Industries, Los Pollos, Springfield Nuclear
await seedApplications();
console.log('\n✅ Database seeding completed successfully!');
@ -68,9 +70,12 @@ async function seedDatabase() {
console.log(' - Regions seeded');
console.log(' - Cities seeded');
console.log(' - 1 SuperAdmin');
console.log(' - 31 Companies (30 + ACME Corp)');
console.log(' - 1059 Jobs (990 + 69 ACME)');
console.log(' - 34 Companies (30 + ACME + Stark + LosPollos + Springfield)');
console.log(' - 1075 Jobs (990 + 69 ACME + 8 Stark + 4 LosPollos + 4 Springfield)');
console.log(' - 🏭 ACME Corp: 69 vagas com humor tech');
console.log(' - 🦸 Stark Industries: 8 vagas Marvel');
console.log(' - 🐔 Los Pollos Hermanos: 4 vagas Breaking Bad');
console.log(' - ☢️ Springfield Nuclear: 4 vagas Simpsons');
console.log(' - 🐺 Wile E. Coyote: wile_e_coyote / MeepMeep@123');
console.log(' - Work modes: onsite, hybrid, remote');
console.log(' - 20 Applications');

View file

@ -0,0 +1,405 @@
import { pool } from '../db.js';
import crypto from 'crypto';
/**
* 🏢 Empresas Fictícias Icônicas
*
* - Stark Industries (Marvel)
* - Los Pollos Hermanos (Breaking Bad)
* - Springfield Nuclear Power Plant (Simpsons)
*/
// ============================================================================
// 🦾 STARK INDUSTRIES - Marvel Cinematic Universe
// ============================================================================
const starkJobs = [
{
title: 'Arquiteto de Cloud para J.A.R.V.I.S.',
skills: ['AWS', 'Kubernetes', 'AI Infrastructure', 'Zero Latency'],
salaryRange: [35000, 60000],
desc: 'Gerenciar a infraestrutura que roda a J.A.R.V.I.S. e F.R.I.D.A.Y. Latência máxima tolerada: 0.001ms. Se a IA não responder "Sim, senhor" instantaneamente, você será substituído por um robô.',
workMode: 'hybrid'
},
{
title: 'DevOps Engineer do Arc Reactor',
skills: ['Docker', 'Terraform', 'Nuclear Fusion', 'CI/CD'],
salaryRange: [30000, 50000],
desc: 'Manter uptime de 99.9999% no Arc Reactor. Downtime = Tony Stark irritado = você procurando novo emprego. Bônus: café infinito e acesso ao laboratório.',
workMode: 'onsite'
},
{
title: 'Engenheiro de Machine Learning para Iron Man Suits',
skills: ['PyTorch', 'Computer Vision', 'Real-time Processing', 'Jarvis SDK'],
salaryRange: [40000, 70000],
desc: 'Treinar modelos de IA para as armaduras Mark 1-85. Dataset inclui 847 batalhas e 12.000 horas de voo. Modelo atual: accuracy 99.7%, meta: 100% (Tony é perfeccionista).',
workMode: 'onsite'
},
{
title: 'Security Engineer Anti-Hydra',
skills: ['Penetration Testing', 'Cryptography', 'S.H.I.E.L.D. Protocols'],
salaryRange: [35000, 55000],
desc: 'Proteger sistemas contra ataques da Hydra, AIM e hackers russos. Última brecha resultou em Ultron. Não queremos outro Ultron.',
workMode: 'remote'
},
{
title: 'Full Stack Developer do Stark Phone',
skills: ['React Native', 'Holographic UI', 'Biometrics'],
salaryRange: [28000, 45000],
desc: 'Desenvolver apps para o smartphone mais avançado do mundo. Features incluem: projeção holográfica, IA integrada e autodestruição remota.',
workMode: 'hybrid'
},
{
title: 'Data Engineer do Projeto Insight',
skills: ['Spark', 'Real-time Analytics', 'Predictive Modeling'],
salaryRange: [32000, 52000],
desc: 'Processar dados de satélites e drones em tempo real. Nota: Projeto original foi cancelado por razões éticas. Este é o Insight 2.0 (ético, prometemos).',
workMode: 'onsite'
},
{
title: 'SRE do Complexo dos Vingadores',
skills: ['Kubernetes', 'Prometheus', 'Chaos Engineering'],
salaryRange: [33000, 53000],
desc: 'Garantir que sistemas críticos sobrevivam a ataques alienígenas. SLA: sistema deve funcionar durante invasões Chitauri. PagerDuty: configurado para alertas intergaláticos.',
workMode: 'onsite'
},
{
title: 'Nanotechnology Software Engineer',
skills: ['Embedded Systems', 'Nano-robotics', 'Real-time OS'],
salaryRange: [45000, 75000],
desc: 'Programar nanobots da armadura Mark 50+. Cada nanobot executa código. São 12 milhões de processos paralelos. Boa sorte debugando.',
workMode: 'onsite'
}
];
// ============================================================================
// 🐔 LOS POLLOS HERMANOS - Breaking Bad
// ============================================================================
const losPollosJobs = [
{
title: 'Engenheiro de Redes Air-Gapped',
skills: ['Cisco', 'VPN Layer 2', 'Criptografia Ponta-a-Ponta', 'Paranoia'],
salaryRange: [25000, 45000],
desc: 'Configurar e manter redes completamente isoladas da internet para os "laboratórios de temperos". Se um pacote de dados vazar, Gus Fring terá uma conversa muito calma com você. Muito. Calma.',
workMode: 'onsite'
},
{
title: 'Desenvolvedor Fullstack de Logística Fantasma',
skills: ['NestJS', 'PostgreSQL', 'Geofencing', 'Discrição'],
salaryRange: [22000, 40000],
desc: 'Manter sistema de rastreamento de frotas de "temperos". Camada oculta mostra carga real apenas para usuários nível 5. Logs se auto-destroem em 24h. Código limpo, sem comentários sarcásticos.',
workMode: 'hybrid'
},
{
title: 'Pentester Especialista em Segurança Ofensiva',
skills: ['Ethical Hacking', 'Câmeras IP', 'Interceptação de Rádio', 'Silêncio'],
salaryRange: [28000, 50000],
desc: 'Simular ataques da DEA e cartéis rivais aos nossos sistemas. Zero vulnerabilidades toleradas. Um vazamento aqui não resulta em multa LGPD, resulta em "demissão definitiva".',
workMode: 'onsite'
},
{
title: 'DBA Arquiteto de Dados com Expertise em Purge',
skills: ['PostgreSQL', 'PostGIS', 'Data Scrubbing', 'Amnésia Seletiva'],
salaryRange: [24000, 42000],
desc: 'Gerenciar banco de dados de fornecedores e rotas de distribuição. Implementar rotinas rigorosas de limpeza. Dados devem ser consistentes mas fáceis de apagar em caso de visita inesperada.',
workMode: 'onsite'
}
];
// ============================================================================
// ☢️ SPRINGFIELD NUCLEAR POWER PLANT - The Simpsons
// ============================================================================
const springfieldJobs = [
{
title: 'Administrador de Sistemas Legados COBOL/Mainframe',
skills: ['COBOL', 'Fortran', 'Monitores CRT', 'Paciência Infinita'],
salaryRange: [8000, 15000],
desc: 'Manter sistemas que controlam o núcleo do reator desde 1970. Hardware não é atualizado há 50 anos. Orçamento para modernização: $0. O Sr. Burns disse "Excelente" e saiu.',
workMode: 'onsite'
},
{
title: 'Desenvolvedor Fullstack Low Cost (PHP 4 / jQuery)',
skills: ['PHP 4', 'jQuery 1.x', 'MySQL 3', 'Gambiarra'],
salaryRange: [6000, 12000],
desc: 'Criar sistema de vigilância de funcionários. Requisito: consertar o que Homer quebra diariamente. Pagamento: 70% salário + 30% tickets de cafeteria + chaveiro radioativo.',
workMode: 'onsite'
},
{
title: 'Especialista em Cyber-Segurança e Vigilância',
skills: ['Firewalls Antigos', 'Câmeras Analógicas', 'Cães de Guarda', 'Release the Hounds'],
salaryRange: [10000, 18000],
desc: 'Impedir funcionários de acessar sites de emprego. Garantir que câmeras do Sr. Burns nunca desliguem. Firewall atual: 486 guardado por cães. Hardware ocasionalmente brilha no escuro.',
workMode: 'onsite'
},
{
title: 'Engenheiro de Dados e Analytics de Produtividade',
skills: ['Excel 97', 'Papel Contínuo', 'Impressora Matricial', 'Negatividade'],
salaryRange: [7000, 13000],
desc: 'Gerar relatórios provando que Setor 7-G (Homer) é o menos produtivo da história da energia nuclear. KPIs: acidentes/mês, donuts consumidos, cochilos no painel de controle.',
workMode: 'onsite'
}
];
// ============================================================================
// Seeder Functions
// ============================================================================
export async function seedStarkIndustries() {
console.log('🦾 Seeding Stark Industries (Marvel)...');
try {
const regionsRes = await pool.query('SELECT id FROM regions LIMIT 1');
const defaultRegionId = regionsRes.rows[0]?.id || null;
// Create Company
await pool.query(`
INSERT INTO companies (name, slug, type, document, address, region_id, phone, email, website, description, verified, active)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12)
ON CONFLICT (slug) DO UPDATE SET name = EXCLUDED.name, description = EXCLUDED.description
`, [
'Stark Industries',
'stark-industries',
'company',
'77.777.777/0001-77',
'Stark Tower, 200 Park Avenue, Manhattan, New York, NY 10166',
defaultRegionId,
'+1-212-STARK-01',
'careers@starkindustries.com',
'https://starkindustries.com',
JSON.stringify({
tagline: 'Changing the World for a Better Tomorrow',
founded: '1939 (Howard Stark)',
ceo: 'Pepper Potts (ex-CEO: Tony Stark)',
products: ['Arc Reactor', 'Iron Man Suits', 'Clean Energy', 'AI Systems'],
locations: ['Manhattan (HQ)', 'Malibu (R&D)', 'Upstate NY (Avengers Compound)'],
perks: ['Trabalhar com Vingadores', 'Acesso à J.A.R.V.I.S.', 'Café com Happy Hogan']
}),
true,
true
]);
// Core Company
await pool.query(`
INSERT INTO core_companies (id, name, document, status)
VALUES ($1, $2, $3, 'ACTIVE')
ON CONFLICT (id) DO NOTHING
`, ['57575757-5757-5757-5757-575757575757', 'Stark Industries', '77.777.777/0001-77']);
// Get company ID
const companyRes = await pool.query("SELECT id FROM companies WHERE slug = 'stark-industries'");
const companyId = companyRes.rows[0].id;
// Get seed user
const seedUserRes = await pool.query("SELECT id FROM users WHERE identifier IN ('system_seed', 'wile_e_coyote') LIMIT 1");
const seedUserId = seedUserRes.rows[0]?.id || 1;
// Create jobs
const benefits = ['Seguro Stark Premium', 'Acesso ao Laboratório', 'Café com J.A.R.V.I.S.', 'Voo de teste nas armaduras (após 1 ano)'];
for (let i = 0; i < starkJobs.length; i++) {
const job = starkJobs[i];
await pool.query(`
INSERT INTO jobs (company_id, created_by, title, description,
salary_min, salary_max, salary_type, employment_type, working_hours,
location, requirements, benefits, visa_support, language_level, status, work_mode)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16)
`, [
companyId,
seedUserId,
job.title,
`🦾 STARK INDUSTRIES está contratando!\n\n${job.desc}\n\nRequisitos:\n- ${job.skills.join('\n- ')}\n- Capacidade de trabalhar sob pressão (literalmente, durante batalhas)\n- Não se intimidar com super-heróis\n\n"I am Iron Man." - Tony Stark`,
job.salaryRange[0],
job.salaryRange[1],
'monthly',
'full-time',
job.workMode === 'remote' ? 'Flexible' : '9:00-18:00 (ou durante emergências globais)',
job.workMode === 'remote' ? 'Remote (Terra ou Órbita)' : 'Stark Tower, Manhattan, NY',
JSON.stringify(job.skills),
JSON.stringify(benefits),
true,
'fluent',
'open',
job.workMode
]);
}
console.log(` ✓ Stark Industries: ${starkJobs.length} vagas criadas`);
} catch (error) {
console.error(' ❌ Erro Stark Industries:', error.message);
}
}
export async function seedLosPollosHermanos() {
console.log('🐔 Seeding Los Pollos Hermanos (Breaking Bad)...');
try {
const regionsRes = await pool.query('SELECT id FROM regions LIMIT 1');
const defaultRegionId = regionsRes.rows[0]?.id || null;
// Create Company
await pool.query(`
INSERT INTO companies (name, slug, type, document, address, region_id, phone, email, website, description, verified, active)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12)
ON CONFLICT (slug) DO UPDATE SET name = EXCLUDED.name, description = EXCLUDED.description
`, [
'Los Pollos Hermanos',
'los-pollos-hermanos',
'company',
'66.666.666/0001-66',
'308 Negra Arroyo Lane, Albuquerque, NM 87104',
defaultRegionId,
'+1-505-POLLOS',
'careers@lospollos.com',
'https://lospollos.com',
JSON.stringify({
tagline: 'Taste the Family!',
founded: '1989',
ceo: 'Gustavo Fring',
products: ['Frango Frito', 'Curly Fries', 'Especiarias Especiais'],
culture: 'Ambiente familiar, gestão rigorosa, zero tolerância a erros',
note: 'Todas as vagas requerem background check e assinatura de NDA de 847 páginas'
}),
true,
true
]);
// Core Company
await pool.query(`
INSERT INTO core_companies (id, name, document, status)
VALUES ($1, $2, $3, 'ACTIVE')
ON CONFLICT (id) DO NOTHING
`, ['66666666-6666-6666-6666-666666666666', 'Los Pollos Hermanos', '66.666.666/0001-66']);
// Get company ID
const companyRes = await pool.query("SELECT id FROM companies WHERE slug = 'los-pollos-hermanos'");
const companyId = companyRes.rows[0].id;
const seedUserRes = await pool.query("SELECT id FROM users WHERE identifier IN ('system_seed', 'wile_e_coyote') LIMIT 1");
const seedUserId = seedUserRes.rows[0]?.id || 1;
const benefits = ['Frango Grátis (apenas o legal)', 'Plano de Saúde Premium', 'Seguro de Vida Reforçado', 'Carro da Empresa (GPS desativado)'];
for (let i = 0; i < losPollosJobs.length; i++) {
const job = losPollosJobs[i];
await pool.query(`
INSERT INTO jobs (company_id, created_by, title, description,
salary_min, salary_max, salary_type, employment_type, working_hours,
location, requirements, benefits, visa_support, language_level, status, work_mode)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16)
`, [
companyId,
seedUserId,
job.title,
`🐔 LOS POLLOS HERMANOS está contratando!\n\n${job.desc}\n\nRequisitos:\n- ${job.skills.join('\n- ')}\n- Discrição absoluta\n- Capacidade de manter segredos\n- Não fazer perguntas\n\n"I hide in plain sight, same as you." - Gus Fring`,
job.salaryRange[0],
job.salaryRange[1],
'monthly',
'full-time',
'6:00-22:00 (turnos rotativos)',
'Albuquerque, NM (Sede Secreta)',
JSON.stringify(job.skills),
JSON.stringify(benefits),
false,
'advanced',
'open',
job.workMode
]);
}
console.log(` ✓ Los Pollos Hermanos: ${losPollosJobs.length} vagas criadas`);
} catch (error) {
console.error(' ❌ Erro Los Pollos Hermanos:', error.message);
}
}
export async function seedSpringfieldNuclear() {
console.log('☢️ Seeding Springfield Nuclear Power Plant (Simpsons)...');
try {
const regionsRes = await pool.query('SELECT id FROM regions LIMIT 1');
const defaultRegionId = regionsRes.rows[0]?.id || null;
// Create Company
await pool.query(`
INSERT INTO companies (name, slug, type, document, address, region_id, phone, email, website, description, verified, active)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12)
ON CONFLICT (slug) DO UPDATE SET name = EXCLUDED.name, description = EXCLUDED.description
`, [
'Springfield Nuclear Power Plant',
'springfield-nuclear',
'company',
'88.888.888/0001-88',
'100 Industrial Way, Springfield, State Unknown',
defaultRegionId,
'+1-555-BURNS',
'careers@snpp.com',
'https://snpp.com',
JSON.stringify({
tagline: 'Excellent...',
founded: '1968',
ceo: 'Charles Montgomery Burns (103 anos)',
assistant: 'Waylon Smithers Jr.',
safetyOfficer: 'Homer J. Simpson (Setor 7-G)',
incidents: '342 por ano (média)',
mascot: 'Blinky (peixe de 3 olhos)',
values: ['Lucro máximo', 'Custo mínimo', 'Segurança opcional']
}),
true,
true
]);
// Core Company
await pool.query(`
INSERT INTO core_companies (id, name, document, status)
VALUES ($1, $2, $3, 'ACTIVE')
ON CONFLICT (id) DO NOTHING
`, ['88888888-8888-8888-8888-888888888888', 'Springfield Nuclear Power Plant', '88.888.888/0001-88']);
// Get company ID
const companyRes = await pool.query("SELECT id FROM companies WHERE slug = 'springfield-nuclear'");
const companyId = companyRes.rows[0].id;
const seedUserRes = await pool.query("SELECT id FROM users WHERE identifier IN ('system_seed', 'wile_e_coyote') LIMIT 1");
const seedUserId = seedUserRes.rows[0]?.id || 1;
const benefits = ['Tickets de Cafeteria', 'Dosímetro Pessoal', 'Desconto na Taverna do Moe', 'Estacionamento (longe do reator)'];
for (let i = 0; i < springfieldJobs.length; i++) {
const job = springfieldJobs[i];
await pool.query(`
INSERT INTO jobs (company_id, created_by, title, description,
salary_min, salary_max, salary_type, employment_type, working_hours,
location, requirements, benefits, visa_support, language_level, status, work_mode)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16)
`, [
companyId,
seedUserId,
job.title,
`☢️ SPRINGFIELD NUCLEAR POWER PLANT está contratando!\n\n${job.desc}\n\nRequisitos:\n- ${job.skills.join('\n- ')}\n- Tolerância a radiação (medida em donuts/hora)\n- Não questionar ordens do Sr. Burns\n- Disponibilidade para trabalhar no Setor 7-G\n\n"Excelente..." - Sr. Burns`,
job.salaryRange[0],
job.salaryRange[1],
'monthly',
'full-time',
'6:00-18:00 (horas extras obrigatórias)',
'Springfield Nuclear Power Plant, Setor 7-G',
JSON.stringify(job.skills),
JSON.stringify(benefits),
false,
'beginner',
'open',
job.workMode
]);
}
console.log(` ✓ Springfield Nuclear: ${springfieldJobs.length} vagas criadas`);
} catch (error) {
console.error(' ❌ Erro Springfield Nuclear:', error.message);
}
}
// Export all seeders
export async function seedFictionalCompanies() {
await seedStarkIndustries();
await seedLosPollosHermanos();
await seedSpringfieldNuclear();
console.log(' 🎬 Todas as empresas fictícias criadas!');
}