JobsBoard Deployer
50b8524775
feat(email): route outbound mail through Proton Mail Bridge SMTP; feat(apply): route one-click apply to employer site
...
Email:
- Add nodemailer; rewrite lib/email.ts to send via configured SMTP (Proton
Mail Bridge) first, Resend fallback, then dev simulation.
- Forward SMTP_* env to web and add protonmail-bridge service in compose.
- Document Proton Bridge SMTP vars in .env.example files; add test-smtp.mjs.
Apply:
- OneClickApplyModal now opens the job's real posting URL (company/ATS site)
in a new tab as the primary action when jobUrl is present, and records the
external application so the card shows 'Applied'.
- Internal one-click snapshot flow retained for jobs without an external URL.
- POST /api/applications accepts external:true (skips profile completeness)
and records an external application.
2026-09-07 14:46:57 -04:00
JobsBoard Deployer
bb4c93b11c
fix(db): derive DATABASE_URL from POSTGRES_PASSWORD and harden credential sync
...
Stop web/scraper containers from using a stray literal DATABASE_URL in the
root .env (which desynced the postgres role password and caused persistent
'password authentication failed' errors). DATABASE_URL is now always computed
from POSTGRES_USER/POSTGRES_PASSWORD.
Also harden postgres-entrypoint.sh: log to stderr, retry on failure, and run
ALTER ROLE unconditionally so the stored password always matches the env.
2026-09-07 13:06:42 -04:00
JobsBoard Deployer
c7259411ae
fix(db): add postgres auto-sync entrypoint wrapper to ensure role login and credentials persist across rebuilds
2026-09-06 13:54:36 -04:00
JobsBoard Deployer
0aba1993f8
Enhance remote categorization and prevent false remote classifications across all scrapers
2026-09-05 15:53:28 -04:00
JobsBoard Deployer
c7031643ce
Allow configurable PostgreSQL credentials and synchronize DATABASE_URL across containers
2026-09-05 15:42:09 -04:00
JobsBoard Deployer
95238d0c31
Comprehensive scraper overhaul across all sectors and seniority levels
2026-09-05 14:58:16 -04:00
JobsBoard Deployer
0f1b58d293
Fix IT department categorization and expand entry-level remote IT positions
2026-09-05 14:54:31 -04:00
JobsBoard Deployer
e0ae08e023
Auto-populate companies from job scrapers and broaden multi-industry coverage across nationwide hubs
2026-09-05 14:43:44 -04:00
JobsBoard Deployer
16efc58a5c
Fix entry-level job filtering and perform pre-launch verification
2026-09-05 14:35:50 -04:00
JobsBoard Deployer
a8dddccbdb
Introduce modern, editorial, and minimal visual themes for live preview and ATS-compliant PDF exports
2026-09-05 14:25:19 -04:00
JobsBoard Deployer
d9e108ba1c
Inject strict ATS sub-score criteria into resume optimizer prompt and align action verb and metric algorithms
2026-09-05 14:20:18 -04:00
JobsBoard Deployer
9e5742307b
Switch default model to google/gemini-2.5-flash, add max_tokens: 3500, and safeguard JSON truncation on parse
2026-09-05 14:12:42 -04:00
JobsBoard Deployer
62b07080ed
Wire master resume improver prompt to OpenRouter optimizer and add explicit server logs and UI feedback
2026-09-05 14:07:45 -04:00
JobsBoard Deployer
e84871926b
Enable high-precision OpenRouter LLM extraction for resume parsing to prevent scrambled titles and organization names
2026-09-05 14:02:58 -04:00
JobsBoard Deployer
9205b88458
Eliminate all synthetic resume hallucinations, integrate OpenRouter small-model support, and strip all emojis site-wide
2026-09-05 13:39:53 -04:00
JobsBoard Deployer
7f0ae931d5
Remove extraneous navbar mark to unify branding typography and add ADA WCAG skip-link navigation
2026-09-05 13:32:56 -04:00
JobsBoard Deployer
b11256c8ae
Rebrand platform to DirectWire, add high-resolution and SVG favicons, update metadata and accessibility tags
2026-09-05 13:21:29 -04:00
JobsBoard Deployer
de5fe3315a
Add mediaserver_default external network to docker-compose
2026-09-05 13:13:43 -04:00
JobsBoard Deployer
2356a68411
Comprehensive scraper overhaul: concurrent domain crawler, Workday CXS integration, parallel ATS ingestion, and word-boundary location filtering
2026-09-05 13:11:23 -04:00
JobsBoard Deployer
73ceb260d5
Enhance proxy resilience with socks5h remote DNS and automatic direct fallback
2026-09-05 12:53:18 -04:00
JobsBoard Deployer
1a914df12c
fix(scraper): align probe_domain_for_careers return tuple unpacking
2026-09-05 12:49:45 -04:00
JobsBoard Deployer
bfec42601a
feat(quality): add anti-ghost quality gate and verified direct badges without emojis
2026-09-05 12:46:01 -04:00
JobsBoard Deployer
8ecd99ea9f
feat(scraper): integrate PrivadoVPN rotating SOCKS5 proxy pool across US and EU endpoints
2026-09-05 12:42:22 -04:00
JobsBoard Deployer
f22b826193
feat(scraper): universal web scraping with Schema.org JobPosting and HTML card extraction across domains
2026-09-05 12:38:22 -04:00
JobsBoard Deployer
2d2aab2999
fix(scraper): add greenhouse/lever board fetching to crawler, proxy support for datacenter IPs, and ziprecruiter fallback
2026-09-05 12:33:57 -04:00
JobsBoard Deployer
fb3d886527
fix(scraper): correct quotation escape in smart_careers_crawler regex
2026-09-05 12:26:54 -04:00
JobsBoard Deployer
5792a79377
feat(scraper,web): nationwide multi-source scaling, smart careers crawler, and resume location matching
2026-09-05 12:22:04 -04:00
JobsBoard Deployer
83ee7378da
fix(scraper): deduplicate job_hash in Python before PostgreSQL batch upsert
2026-09-05 11:49:16 -04:00
JobsBoard Deployer
3aad6705d0
fix(docker): install openssl in alpine and refine scraper readiness loop
2026-09-05 11:39:47 -04:00
JobsBoard Deployer
00775c48ed
fix(docker): make host ports configurable via WEB_PORT and DB_PORT
2026-09-05 11:34:36 -04:00
JobsBoard Deployer
86ea1c83d6
fix(docker): ensure public directory exists for Docker build
2026-09-05 11:31:29 -04:00
JobsBoard Deployer
9b8184d345
feat: complete production-ready JobsBoard stack with multi-source acquisition and ATS optimizer
2026-09-05 10:41:18 -04:00