Codync
무료 오픈소스 1:1 대안, Grok Bot과 Muse 대신
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗The Node.js half of the Brewtality-3-16 self-healing job-scraper
template for peviitor.ro. node-fetch + Cheerio, ESM,
Jest.
This is a template.
scraper/config/*.json,docs/,ai/and the workflows ship{{PLACEHOLDER}}values. To make a real scraper, copy this folder into a new repo and replace them — see the placeholder list.
demoanaf.ro) by CIF — name, active/inactive status, address. Cached in tmp/company.json (7-day TTL) with a stale-cache fallback.ai/AGENTS.md.docs/jobs.md and refresh docs/company.json for GitHub Pages.npm install
npm run test:unit # 151 tests — pass with placeholders in place
npm run scrape # runs the full pipeline (no-op until configured)
| Placeholder | Fill with |
|---|---|
SOF MEDICA S.A. | legal name, uppercase (e.g. EXAMPLE COMPANY SRL) |
Sofmedica | commercial brand |
6719715 | fiscal code (CUI), no RO prefix |
https://sofmedica.com | https://www.example.com |
https://apply.workable.com/sofmedica/ | the open-positions listing page |
| `` | the job sitemap URL (or "" if the site has none) |
https://apply.workable.com/j/ | canonical job-permalink prefix, e.g. https://www.example.com/jobs/ |
Otopeni | HQ city (falls back to România in the transform) |
/ / `` | primary CSS selectors for the listing (keep the generic fallbacks after them) |
peviitor-scrapers / sof-medica-nodejs-scraper | the derived repo's owner / name |
Then adapt parseListing and scrapeCareers in scraper/index.js to the site,
and add a test per new cascade level.
npm run test:unit # always runs (placeholder-safe)
npm run test:integration # self-skips until a company is configured + ANAF reachable
npm run test:e2e # self-skips until configured; live careers-site + API otherwise
npm run test:consistency # needs GITHUB_REPOSITORY + GITHUB_TOKEN (for a derived repo)
If the job list is built client-side, node-fetch only sees an empty shell. Set
rendering in scraper/config/scraper.json:
"rendering": { "mode": "browser", "waitSelector": ".job-card", "timeoutMs": 30000 }
static (default) never launches a browser; browser always renders;
auto renders only when the static HTML parses to zero jobs. The scrape
workflow installs Chromium only when the mode is not static. Locally:
npx playwright install chromium. Code: scraper/browser.js; tests:
tests/unit/browser.test.js (fake Playwright) and
tests/integration/browser-live.test.js (real Chromium, skipped if absent).
MIT — see LICENSE. Managed by ASOCIATIA OPORTUNITATI SI CARIERE for the peviitor.ro job board.