JSPM

  • Created
  • Published
  • Downloads 120
  • Score
    100M100P100Q100940F
  • License ISC

TUI para búsqueda y seguimiento de empleo

Package Exports

  • jobtracker
  • jobtracker/dist/infrastructure/adapters/cli/app.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (jobtracker) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

JobTracker 🚀

English

Node.js TypeScript Ink GPLv3

JobTracker es una TUI para buscar y seguir ofertas de empleo que centraliza avisos, palabras clave y postulaciones en una sola interfaz rapida de terminal.

La herramienta que te ayuda a no perder el control de tu busqueda de empleo.

Por que JobTracker?

En vez de abrir multiples pestanas y volver a filtrar los mismos portales una y otra vez, JobTracker te da una vista unica, ordenada y operable desde teclado.

  • Rapido y ligero: construido con React + Ink para una experiencia agil en consola.
  • Extensible por diseño: sistema de plugins para agregar nuevos portales de empleo.
  • Datos en tu maquina: toda la informacion se guarda localmente en JSON.
  • Productividad primero: escaneo, keywords, postulaciones y pluginspensados como partes del mismo sistema.

Que lo hace diferente

  • Un solo lugar: todos los avisos de diferentes portales en una lista unificada.
  • Keywords automaticas: busca por las palabras que configures en todos los plugins.
  • Seguimiento de postulaciones: marca a donde aplicaste y su estado.
  • Plugins de terceros: cualquier desarrollador puede crear nuevos scrapers.

Arquitectura

JobTracker sigue principios de ingenieria pragmatica:

  • Clean Architecture: separacion entre logica de negocio e infraestructura.
  • Screaming Architecture: la estructura del proyecto refleja su proposito.
  • Hexagonal Architecture: puertos y adaptadores para aislar el core.
  • Repository Pattern: acceso a datos detras de interfaces.

Capturas de pantalla

Splash

Pantalla de arranque con version e indicadores de estado. spalsh

Entorno principal

Vista de tres paneles con navegacion por teclado. Entorno

Dialogo de keywords

Modal para gestionar palabras clave de busqueda. Dialogo

Hotkeys

Tecla Accion
/ Navegar entre registros del panel activo
Tab Cambiar entre paneles (Avisos → Postulaciones → Detalle)
PageUp / PageDown Paginar en el panel activo

Acciones rapidas

Tecla Panel Accion
Enter Avisos Copiar aviso a postulaciones
Enter Postulaciones Abrir detalle de postulacion
Enter Detalle Abrir enlace del aviso en navegador
Supr Modal Detalle Eliminar postulacion seleccionada

Funciones globales

Tecla Accion
S Iniciar escaneo con plugins
K Abrir modal de keywords
P Abrir panel de plugins
Q Salir de la aplicacion
Tecla Accion
I Insertar nueva keyword
Enter Guardar keyword (en modo insercion)
Supr / Del Eliminar keyword seleccionada
Esc Cerrar modal
Tecla Accion
/ Navegar plugins instalados y disponibles
Enter Seleccionar plugin (required para descargar)
A Agregar plugin desde ruta local (.scrapper)
D Descargar plugin seleccionado del repositorio
E Eliminar plugin seleccionado
S Sincronizar plugins instalados (actualiza si hay nueva version)
Esc Cerrar modal

Indicador: marca el plugin seleccionado

Opciones CLI

Instalacion global

Una vez publicado, puedes instalar JobTracker como paquete npm:

npm install -g jobtracker
jobtracker --help

Uso global

# Ver ayuda
jobtracker --help

# Sin splash screen
jobtracker --noSplash

# Agregar keyword
jobtracker --addKey "python"

# Eliminar keyword
jobtracker --delKey "python"

# Modo silencioso (escaneo sin TUI)
jobtracker --silent

# Listar plugins instalados y disponibles
jobtracker --list-plugins

# Sincronizar plugins (actualiza los instalados)
jobtracker --sync-plugins

# Descargar un plugin especifico del repositorio
jobtracker --download-plugin trabajandocl

# Eliminar un plugin instalado
jobtracker --delete-plugin trabajandocl

Instalacion local (desarrollo)

Luego de bajar el repositorio debes actualizar las dependencias y puedes probar que corra con los siguientes comandos

npm install
npm run dev

Uso local

# TUI completa
npm run dev

# Agregar keyword sin entrar a TUI
npm run dev:add -- "python"

# Eliminar keyword sin entrar a TUI
npm run dev:del -- "python"

# Modo silencioso (sin TUI)
npm run dev:silent

Plugins

JobTracker es extensible. Puedes agregar plugins para diferentes portales de empleo.

Plugins disponibles

Descarga los plugins desde los Releases:

Plugin Descarga
computrabajo.cl computrabajo-cl.scrapper
trabajando.cl trabajando-cl.scrapper

Instalar plugins

# Desde el directorio del proyecto
jobtracker --addPlugin ./path/al/plugin.scraper

# O moviendo la carpeta del plugin a ~/.jobtracker/plugins/

Crear tu propio plugin

JobTracker tiene un Plugin SDK que te permite crear scrapers para cualquier portal de empleo.

Consulta plugin-sdk/README.md para la documentacion completa.

# Validar estructura del plugin
npx tsx plugin-sdk/scripts/validate.ts --name mi-plugin

# Compilar TypeScript a JavaScript
npx tsx plugin-sdk/scripts/build.ts --name mi-plugin

# Probar el plugin
npx tsx plugin-sdk/scripts/test.ts --name mi-plugin --keywords "python,react"

# Empaquetar para distribucion
npx tsx plugin-sdk/scripts/pack.ts --name mi-plugin

Stack tecnico

  • Lenguaje: TypeScript
  • Runtime: Node.js
  • UI: React + Ink
  • CLI: Commander
  • Paths: env-paths
  • Persistencia: JSON local
  • Scraping: Playwright

Para mas detalles sobre la arquitectura, patrones y especificaciones tecnicas, consulta el SPEC.md.

Contribuir

Las contribuciones son bienvenidas, ya sea reportando bugs, proponiendo mejoras o enviando codigo.

  1. Haz un fork del repositorio
  2. Crea una rama (git checkout -b feature/mi-cambio)
  3. Haz commit de tus cambios
  4. Sube tu rama
  5. Abre un Pull Request

Contacto

LinkedIn Email Ko-fi


Si te gusta, considera darle una estrella al repositorio.