346 lines
9.5 KiB
Markdown
346 lines
9.5 KiB
Markdown
# Seeder API
|
|
|
|
[](https://nodejs.org/)
|
|
[](https://postgresql.org/)
|
|
|
|
Microserviço para popular o banco de dados com dados realistas de teste.
|
|
|
|
> **Last Updated:** 2024-12-26
|
|
|
|
---
|
|
|
|
## 📊 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 |
|
|
| **Países** | 250+ | World countries (ISO) |
|
|
| **Regiões/Estados** | 5000+ | States/Provinces worldwide |
|
|
| **Cidades** | 150000+ | Cities from database dump |
|
|
|
|
---
|
|
|
|
## 🚀 Scripts Disponíveis
|
|
|
|
| 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 |
|
|
| `npm run migrate` | Executa migrations SQL |
|
|
| `npm run load:locations` | Carrega países, regiões e cidades |
|
|
| `npm run verify:login` | Testa login de usuários criados |
|
|
|
|
---
|
|
|
|
## 🌍 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
|
|
|
|
```bash
|
|
cd seeder-api
|
|
npm install
|
|
```
|
|
|
|
### Configuração
|
|
|
|
Crie um `.env` baseado no `.env.example`:
|
|
|
|
```env
|
|
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
|
|
|
|
### Super Admin (Main)
|
|
- **Login**: `lol` / **Email:** `lol@gohorsejobs.com`
|
|
- **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 🏪
|