gohorsejobs/seeder-api
Tiago Yamamoto d3c06f5564 feat: expand testing, add fast seeder options, hardcode superadmin
- start.sh: Add options 8 (Seed LITE - skip cities) and 9 (Run All Tests)
- seeder: Add seed:lite, seed:fast scripts and --skip-locations flag
- seeder: Remove superadmin creation (now via backend migration)
- backend: Update 010_seed_super_admin.sql with hardcoded hash (Admin@2025! + pepper)
- backend: Expand jwt_service_test.go with 5 new tests (+10% coverage)
- frontend: Fix api.test.ts URL duplication bug, add error handling tests
- seeder: Add SQL data files to .gitignore
2025-12-24 17:07:45 -03:00
..
node_modules first commit 2025-12-09 19:04:48 -03:00
sql data(seeder): add location SQL data files 2025-12-24 16:23:33 -03:00
src feat: expand testing, add fast seeder options, hardcode superadmin 2025-12-24 17:07:45 -03:00
.dockerignore chore: add Dockerfiles and gitignore files for all services 2025-12-14 09:28:09 -03:00
.env.example chore: add login verification scripts and update deps 2025-12-24 14:22:56 -03:00
.gitignore feat: expand testing, add fast seeder options, hardcode superadmin 2025-12-24 17:07:45 -03:00
Dockerfile chore: add Dockerfiles and gitignore files for all services 2025-12-14 09:28:09 -03:00
package-lock.json first commit 2025-12-09 19:04:48 -03:00
package.json feat: expand testing, add fast seeder options, hardcode superadmin 2025-12-24 17:07:45 -03:00
README.md docs(seeder): complete README with all fictional companies and regions 2025-12-24 10:39:16 -03:00

Seeder API

Node.js PostgreSQL

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_PEPPER deve 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 🏪