gohorsejobs/seeder-api/README.md
Tiago Yamamoto 1c7ef95c1a first commit
2025-12-09 19:04:48 -03:00

2.3 KiB

Todai Jobs - Seeder API

Microservice for seeding the Todai Jobs database with realistic sample data.

Overview

This seeder populates the database with:

  • 1 SuperAdmin user
  • 10 real Japanese companies (Toyota, Honda, Denso, etc.)
  • 8 Company Admins and Recruiters
  • 30 Foreign Job Seekers (Brazilian, Filipino, Nepalese, etc.)
  • 50 Realistic job listings
  • 20 Sample applications
  • 47 Japanese prefectures
  • Cities for Aichi and Tokyo

Installation

cd seeder-api
npm install

Configuration

Create a .env file or use default values:

DB_HOST=172.28.22.171
DB_PORT=5432
DB_USER=usuario
DB_PASSWORD=senha123
DB_NAME=todaijobs

Usage

Full Seed

npm run seed

Reset Database (Drop all tables)

npm run seed:reset

Seed Specific Tables

npm run seed:users
npm run seed:companies
npm run seed:jobs

Login Credentials

SuperAdmin

  • Identifier: superadmin
  • Password: Admin@2025!

Company Admin (Multi-company: Toyota & Denso)

  • Identifier: takeshi_yamamoto
  • Password: Takeshi@2025

Recruiter (Honda)

  • Identifier: maria_santos
  • Password: Maria@2025

Job Seeker

  • Identifier: paulo_santos
  • Password: User@2025

All job seekers use password: User@2025

Seeding Order

The seeder respects foreign key dependencies:

  1. Prefectures (47 Japanese prefectures)
  2. Cities (Aichi + Tokyo municipalities)
  3. Users (SuperAdmin, Admins, Recruiters, JobSeekers)
  4. Companies (10 major Japanese companies)
  5. UserCompany (Multi-tenant associations)
  6. Jobs (50 job listings)
  7. Applications (20 sample applications)

Database Schema

All tables are created via migrations in /backend/migrations/. This seeder only populates data.

Development

The seeder uses:

  • pg: PostgreSQL client
  • bcrypt: Password hashing
  • dotenv: Environment variables

Notes

  • Run migrations before seeding
  • Use --reset flag carefully (destroys all data)
  • Default passwords are for development only

Examples

# Fresh start
npm run seed:reset
cd ../backend
psql -h 172.28.22.171 -U usuario -d todaijobs -f migrations/*.sql
cd ../seeder-api
npm run seed

# Update data
npm run seed