BREAKING CHANGE: Removed core_companies, core_users, core_user_roles tables Migrations: - Create 020_unify_schema.sql: adds tenant_id, email, name to users table - Create user_roles table (replaces core_user_roles) - Disable 009_create_core_tables.sql (renamed to .disabled) - Update 010_seed_super_admin.sql to use unified tables Backend Repositories: - company_repository.go: use companies table with INT id - user_repository.go: use users/user_roles with INT id conversion Seeders: - All seeders now use companies/users/user_roles tables - Removed all core_* table insertions - Query companies by slug to get SERIAL id This eliminates the redundancy between core_* and legacy tables. |
||
|---|---|---|
| .. | ||
| node_modules | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| Dockerfile | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
Seeder API
Microserviço para popular o banco de dados com dados realistas de teste.
📊 Dados Gerados
| Entidade | Quantidade | Descrição |
|---|---|---|
| SuperAdmin | 1 | Usuário administrador do sistema |
| Empresas Tech | 30 | TechCorp, DataFlow, AIVentures, FinTechPro... |
| Empresas Fictícias | 13 | ACME, Stark, Los Pollos, Wayne, Umbrella... |
| Admins/Recruiters | 8+ | Usuários de empresas |
| Candidatos | 30 | Job seekers de várias nacionalidades |
| Vagas | 1129+ | 990 normais + 69 ACME + 70 fictícias + épicas |
| Candidaturas | 20 | Aplicações de exemplo |
| Regiões | 8 | Brasil (SP, RJ, MG), USA (CA, NY, TX), Japão (Tokyo, Osaka) |
| Cidades | 8 | São Paulo, Campinas, Santos, San Francisco, LA, Palo Alto, Shinjuku, Shibuya |
🌍 Regiões e Cidades
🇧🇷 Brasil
- São Paulo (SP): São Paulo, Campinas, Santos
- Rio de Janeiro (RJ)
- Minas Gerais (MG)
🇺🇸 Estados Unidos
- California (CA): San Francisco, Los Angeles, Palo Alto
- New York (NY)
- Texas (TX)
🇯🇵 Japão
- Tokyo (13): Shinjuku, Shibuya
- Osaka (27)
🏭 ACME Corporation
"Se não explodir, não é ACME!" ™
A ACME Corp é nossa empresa especial com 69 vagas de tecnologia com humor, inspirada nos clássicos Looney Tunes.
Destaques das Vagas ACME:
- 🚀 Engenheiro de Software de Foguetes Portáteis
- 💣 Dev de TNT Inteligente
- 🕳️ Arquiteto de Túneis Instantâneos
- 📊 Data Scientist de Previsão de Falhas (Accuracy: 100%)
- 🦅 ML Engineer de Detecção de Papa-Léguas (Precision: 0%)
- 💥 Chief Explosion Officer (CEO)
- 🎨 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
🛒 Buy n Large (Wall-E)
"BnL - Everything You Need!"
3 vagas para a nave Axiom:
- 🧠 Engenheiro de Automação de Consumo
- ☁️ Arquiteto de Nuvem Estelar
- 🌈 Desenvolvedor Front-end de Hologramas
Status: 700 anos servindo a humanidade
🤖 Cyberdyne Systems (Terminator)
"Building a Better Tomorrow... Today"
3 vagas para quem não tem medo de IA:
- 🧠 Engenheiro de ML (Skynet Core)
- 🔓 Especialista em Cibersegurança Ofensiva
- ⚙️ Desenvolvedor de Firmware para T-800
Produto: Skynet Defense System (puramente acadêmico 😉)
🍫 Wonka Industries (Charlie and the Chocolate Factory)
"Scrumdiddlyumptious!"
3 vagas com chocolate ilimitado:
- 🎫 Desenvolvedor Web de Gamificação (Golden Ticket)
- 🍬 Engenheiro de IoT (Internet of Treats)
- 🎛️ Tech Lead de Automação (Oompa-Loompa Tech)
CEO: Willy Wonka
🦇 Wayne Enterprises (Batman)
"Building a Better Gotham"
3 vagas em Gotham City:
- 🦇 Desenvolvedor de Software Embarcado (Bat-Suite)
- 📊 Analista de Big Data (Vigilância Urbana)
- ⚙️ DevOps Engineer (Bat-Cave Infra)
CEO: Bruce Wayne
Nota: Funcionários não têm acesso à Bat-Caverna
✈️ Oceanic Airlines (Lost)
"Fly the Friendly Skies"
3 vagas com destino incerto:
- ✈️ Engenheiro de Sistemas de Voo (Black Box)
- 💻 Desenvolvedor Fullstack (Booking System)
- 🆘 Especialista em Recuperação de Desastres
Flight 815? Never heard of it.
🦖 InGen / Jurassic Park
"We Make Your Wildest Dreams Come True"
3 vagas em Isla Nublar:
- 🧬 Bio-Informata (Sequenciamento de DNA)
- 🔌 Administrador de Redes (Sistemas de Cercas)
- 🦕 Engenheiro de IA (Padrões de Comportamento de Raptors)
Disclaimer: "Life, uh, finds a way."
🦐 Bubba Gump Shrimp Co. (Forrest Gump)
"Run, Forrest, Run!"
3 vagas com muito camarão:
- 🛒 Desenvolvedor de E-commerce (Shrimp-Shop)
- 🚢 Analista de Logística e Supply Chain
- 📈 Engenheiro de Dados (Sales Analytics)
Produtos: 500+ formas de preparar camarão
☣️ Umbrella Corporation (Resident Evil)
"Obedience Breeds Discipline"
3 vagas com NDA obrigatório:
- 👑 Engenheiro de Sistemas de Contenção (Red Queen AI)
- 💻 Desenvolvedor Fullstack (Monitoramento Biométrico)
- 🔐 Especialista em Segurança de Dados (Evidence Scrubbing)
Benefício: Kit de primeiros socorros (Erva Verde) e máscara de gás
🏪 Sprawl-Mart (Paródia Distópica)
"Save Money. Lose Soul."
30 vagas que você não vai querer:
- 💾 DBA de SQL Server 2000 (servidor faz barulho de helicóptero)
- 📞 Engenheiro de Redes Dial-up (56kbps de pura velocidade)
- 🖥️ Técnico de Manutenção de PDV MS-DOS
- 👁️ Desenvolvedor de Algoritmo de Pausa de Banheiro
- 🕵️ Especialista em Keylogger Corporativo
- 📄 Backend Dev Node.js (arquivo único de 50k linhas)
- 🌐 Frontend Dev (IE6 Compatibility)
- 🤖 Engenheiro de Prompt para Demissões
- 💀 CTO de Contingência (Bode Expiatório)
- E mais 21 vagas distópicas...
Motto: "Sempre o menor preço. Sempre o menor salário."
🚀 Uso
Instalação
cd seeder-api
npm install
Configuração
Crie um .env baseado no .env.example:
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=yourpassword
DB_NAME=gohorsejobs
# MUST match backend PASSWORD_PEPPER
PASSWORD_PEPPER=your-pepper-value
⚠️ IMPORTANTE: O
PASSWORD_PEPPERdeve ser idêntico ao configurado no backend. Caso contrário, os usuários criados pelo seeder não conseguirão fazer login.
Comandos
| Comando | Descrição |
|---|---|
npm run seed |
Popula todas as tabelas |
npm run seed:reset |
Limpa e repopula tudo |
npm run seed:users |
Apenas usuários |
npm run seed:companies |
Apenas empresas |
npm run seed:jobs |
Apenas vagas |
🔑 Credenciais Geradas
SuperAdmin
- Login:
superadmin - Senha:
Admin@2025!
Admin de Empresa (todos usam mesma senha)
- Login:
takeshi_yamamoto(TechCorp) - Login:
kenji@appmakers.mobile(AppMakers) - Senha:
Takeshi@2025
Recrutador
- Login:
maria_santos(DesignHub) - Senha:
User@2025
🐺 Wile E. Coyote (ACME Corp)
- Login:
wile_e_coyote - Senha:
MeepMeep@123 - Empresa: ACME Corporation
- Cargo: HR Manager & Chief Failure Officer
Candidatos (todos usam mesma senha)
- Login:
paulo_santos - Login:
maria@email.com - Login:
ana_silva,carlos_santos,maria_oliveira,pedro_costa,juliana_ferreira - Senha:
User@2025
📁 Estrutura
src/
├── index.js # Entrypoint principal
├── config.js # Configuração de BD
├── db.js # Pool de conexões
└── seeders/
├── users.js # Seed de usuários
├── companies.js # Seed de 30 empresas tech
├── jobs.js # Seed de vagas normais
├── acme.js # 🏭 ACME Corp + 69 vagas Looney Tunes
├── fictional-companies.js # 🎬 Stark, Los Pollos, Springfield
├── epic-companies.js # 🌟 BNL, Cyberdyne, Wonka, Wayne, Oceanic, InGen, Bubba Gump, Umbrella, Sprawl-Mart
├── regions.js # Seed de regiões (BR, US, JP)
├── cities.js # Seed de cidades
├── applications.js # Seed de candidaturas
└── notifications.js # Seed de notificações
⚠️ Importante
- Execute as migrations antes do seed
- Use apenas em ambiente de desenvolvimento
- Senhas padrão são apenas para testes
- ACME não se responsabiliza por lesões causadas por produtos falhos 🐺
- Umbrella Corporation não se responsabiliza por surtos virais ☣️
- Sprawl-Mart não se responsabiliza por sua alma 🏪