המטרה
מחפשי עבודה בהייטק בישראל נאלצים לגלוש בעשרות ATSs. HiTakeJob מאחדת אותם לפלטפורמה אחת עברית-RTL עם שכבת agency בתשלום וכלי admin שמחזיקים את הדאטה נקיה.
הפתרון
מוצר שלוש-שירותים - crawler ב-Python, backend ב-Node.js/Express + MongoDB, frontend ב-Vue 3 + Pinia - מתוזמרים עם docker-compose, פרוסים ל-AWS עם Terraform ומוגדרים עם Ansible, כולל crawlers רב-ATS, APIs ציבורי/agency/admin, צ'אט בזמן אמת על Socket.IO, אנליטיקס GTM, חיוב חבילות CV ומודל GDPR.
עיקרי הדברים
- ארבע אינטגרציות ATS מאוחדות תחת סכמת jobs אחת ב-MongoDB
- פריסת שלוש-שירותים docker-compose מסופקת מקצה לקצה עם Terraform + Ansible
- שכבת API ייעודית ל-agency עם Gmail OAuth ו-endpoints מוגבלים
- צ'אט בזמן אמת עם מוני הודעות וחיווי הקלדה על Socket.IO + MongoDB
האתגר
Workday, Comeet, Greenhouse ו-Lever חושפים משרות בצורות שונות לחלוטין - pagination, קצב ומבנה.
Crawlers ייעודיים לכל ATS שחולקים עזרי URL וcache-busting, מזינים קולקשן jobs אחד ב-MongoDB כך שה-API אדיש למקור.
UX עברי-RTL עם מונחי טכנולוגיה באנגלית ואיות ערים לא עקבי.
Tailwind עם תמיכת RTL, language store, ועזרי נרמול ערים (cityNames.js, generate-reverse-city-names.js) כדי שחיפוש ימצא בלי קשר לאיות.
סוכנויות צריכות כמה מושבים, הרשאות מוגבלות, ושכבת נתונים נפרדת מפאנל האדמין.
שכבת API ייעודית ל-agency (agencyPortalApi, agencyGmailApi, agencyHttp, agencyJobsApi, agencyMatchesApi) עם Gmail OAuth ייעודי ו-endpoints מוגבלים לתפקיד, מתועדת ב-docs/agency-multi-user.md.
הפריסה לפרודקשן חייבה להפסיק להיות תלויה במחשב שלי ולשרוד החלפת מכונה.
Terraform מספק את כל ה-stack (VPC, subnet, SG, EC2) בפקודה אחת, Ansible מתקין Docker ומעלה docker-compose עם crawler/backend/frontend.
צ'אט חי נדרש עם התמדה, מוני הודעות, חיווי הקלדה וקריאה בצד משתמש ו-admin.
Express + Socket.IO, שתי קולקשנים chatThreads/chatMessages, Pinia store בלקוח ו-AdminChats UI עם סינון, סטטוסים ו-badges חיים.
מה נמסר
- Crawler ב-Python עם מודולים לכל ATS
- API ב-Node.js/Express + MongoDB + שרת צ'אט Socket.IO
- Frontend ב-Vue 3 + Pinia + Tailwind RTL
- Admin suite (חיפוש מתקדם, GTM audit, כלי DevOps, כלי agency)
- Terraform IaC + Ansible playbook + docker-compose
- תיעוד: PROJECT.md, PRE_DEPLOYMENT_CHECKLIST.md, docs/ (GDPR, GTM, agency, ערים, devops, צ'אט)
תוצאות
4
אינטגרציות ATS
3 + chat
שירותים
Terraform + Ansible
תשתית
AWS eu-central-1
אזור
מה זה לימד אותי
- עזרי crawler משותפים (URL, cache-busting) החזירו את עצמם עם כל ATS חדש
- שכבת API נפרדת ל-agency שמרה על הרשאות נקיות ככל שהמוצר גדל
- Terraform + Ansible מההתחלה שמרו על פריסות משוחזרות גם במעברי מכונה
