לוח בקרה
נתח URL
חיפוש מכרז
מכרז חדש
קנבן מכרזים
לוח שנה
ספריית מסמכים
סנכרון Sheets
מכרזים אקטיביים
ניתוחי AI אחרונים
Pipeline מכרזים
דדליינים קרובים
התפלגות סטטוסים
פעילות אחרונה
מכרזים
| כותרת | גוף מפרסם | חברה | סטטוס | מועד אחרון | ציון AI | פעולות |
|---|
ניתוחים אחרונים
לוח שנה חכם
עומס: נמוך בינוני גבוה
ספריית מסמכים
העלה קבצים לספרייה
אנליטיקה
מכרזים לפי חודש
מכרזים לפי גוף מפרסם
ימים לדדליין — מכרזים פעילים
התפלגות לפי תחום
סיכום מכרזים
ביצועים
מאגר ידע
פורטפוליו פרויקטים
| שם | מזמין | סוג | אזור | היקף ₪ | תקופה |
|---|
היסטוריית ריצות
| זמן | מקור | סוג | כמות | פרטים |
|---|
צוות ויועצים
צוות פנימי
| שם | צוות | תפקיד | ניסיון | התמחויות | רישיון | פרויקטים | פעולות |
|---|
יועצים חיצוניים
תיעוד המערכת
TenderOS v6.0 — דוקומנטציה טכנית מלאה
סקירה כללית
שם המערכת
TenderOS v6.0
כתובת
מטרה
ניהול מלא של מחזור חיי המכרז — מאיתור אוטומטי ועד הגשה
חברות
מהוד הנדסה (תשתיות ותחבורה) + אריה צור מהנדסים (כבישים ותנועה)
ארכיטקטורה
Stack טכנולוגי
| רכיב | טכנולוגיה | פרטים |
|---|---|---|
| Frontend | HTML / JS / CSS | SPA, dark theme, glass-morphism, RTL |
| Backend | Node.js Express | server.js ראשי |
| Database | Supabase (PostgreSQL) | Project: gmccpaouixswujaoskgz |
| AI Engine | Gemini 2.5 Pro | ניתוח מכרזים, AI Council |
| OCR | Azure Document Intelligence | mahod-doc-intel-s0 |
| Workflows | n8n | mahod.app.n8n.cloud |
| Scraping | BrightData | תוקף: 08-06-2026 |
| Hosting | DigitalOcean | 46.101.119.52 |
מבנה הקבצים
/var/www/tenders.mahodeng.co.il/
├── public/
│ └── index.html ── Frontend ראשי (SPA)
├── src/
│ ├── server.js ── Express server
│ ├── lib/
│ │ └── supabase.js ── Supabase client
│ ├── api/
│ │ ├── tenders.js ── CRUD מכרזים
│ │ ├── knowledge.js ── מאגר ידע API
│ │ ├── files.js ── ניהול קבצים
│ │ └── council.js ── AI Council routes
│ └── council/
│ └── analyze_tender.js ── ניתוח AI (Gemini)
├── data/
│ └── staff.json ── נתוני צוות
└── .env ── משתני סביבה
├── public/
│ └── index.html ── Frontend ראשי (SPA)
├── src/
│ ├── server.js ── Express server
│ ├── lib/
│ │ └── supabase.js ── Supabase client
│ ├── api/
│ │ ├── tenders.js ── CRUD מכרזים
│ │ ├── knowledge.js ── מאגר ידע API
│ │ ├── files.js ── ניהול קבצים
│ │ └── council.js ── AI Council routes
│ └── council/
│ └── analyze_tender.js ── ניתוח AI (Gemini)
├── data/
│ └── staff.json ── נתוני צוות
└── .env ── משתני סביבה
מודולים ועמודים
דשבורד
- KPIs מונפשים: מכרזים פעילים, הגשות, אחוז הצלחה
- Pipeline funnel: חדש → בבדיקה → בהכנה → הוגש → זכייה
- גרף דדליינים קרובים עם countdown
- התפלגות סטטוסים (Chart.js)
- פיד פעילות אחרונה
מכרזים
- Kanban: עמודות לפי סטטוס (8 סטטוסים)
- תצוגת טבלה: מיון וסינון
- סינון לפי חברה / סטטוס
- ניתוח URL (BrightData + Gemini)
- העלאת PDF לניתוח AI
לוח שנה חכם
- תצוגת חודש עם heatmap עומס
- צבעים לפי דחיפות
- פרטי מכרזים ליום נבחר
- סטטיסטיקות חודשיות
ספריית מסמכים
- תיקיות: ביטוחים, רישיונות, CVs, אישורים, תבניות
- העלאה ל-Supabase Storage
- תצוגה מקדימה
- מעקב תוקף מסמכים
מאגר ידע
- 8 קטגוריות: פרטי חברה, ניסיון, כוח אדם, פיננסי...
- רישיונות, קבלני משנה, ציוד ותוכנות, תבניות
- מילוי אוטומטי לטפסי מכרז
צוות ויועצים
- צוות פנימי: שם, צוות (1/2/3), תפקיד, ניסיון
- יועצים חיצוניים: חברה, התמחות, דירוג
- התמחויות: כבישים, תנועה, מסילות, ניקוז, GIS...
פורטפוליו פרויקטים
- טבלת projects_v2: מספר עבודה, סוג, אזור, עיר
- נתונים כמותיים: שטח, יח"ד, אורך, היקף
- לוחות זמנים: תכנון מוקדם/מפורט, ביצוע
- סינון לפי סוג ואזור
AI Council — ניתוח מכרזים
- Phase 0: OCR — Azure DI (fallback: Gemini Vision)
- Phase 1: קריאת מסמך המכרז
- Phase 2: ניתוח מעמיק עם Gemini 2.5 Pro
- תוצאות: ציון (0-100), המלצה, פרויקטים מתאימים
- Quick Analyze + Full Analyze
טבלאות Supabase
tenders
id, title, tender_id, issuer, company (mahod/arye_tzur/both), field, deadline, status (new/review/preparing/submitted/won/lost/expired/irrelevant), link, notes, ai_score, ai_analysis (JSONB), tour_date, created_at, updated_at
projects_v2
id, job_number, name, type, region, city, description, area_dunam, housing_units, length_km, budget, early_design_start/end, detailed_design_start/end, execution_start/end, statutory_date, taba_number, client_name, client_type, mahod_role, contractor, design_type, contact, domains (JSONB), keywords, notes
team_members + consultants
team_members: id, name, team, role, experience_years, education, institution, license_number, license_expiry, specialties (JSONB), cv_link
consultants: id, name, company, specialty, phone, email, rating
consultants: id, name, company, specialty, phone, email, rating
kb_categories + kb_items
categories: id, name, icon, sort_order
items: id, category_id (FK), title, value, tags
items: id, category_id (FK), title, value, tags
kb_files + council_analyses
kb_files: id, name, folder, path, mime_type, size, expiry_date
council_analyses: id, tender_id (FK), analysis (JSONB), status, pdf_path
council_analyses: id, tender_id (FK), analysis (JSONB), status, pdf_path
API Endpoints
מכרזים
GET /api/tenders — רשימת מכרזים (עם filters)
POST /api/tenders — יצירת מכרז
PUT /api/tenders/:id — עדכון
DEL /api/tenders/:id — מחיקה
POST /api/tenders/analyze-url — ניתוח URL (BrightData + Gemini)
POST /api/tenders/analyze-pdf — ניתוח PDF
מאגר ידע
GET /api/knowledge/categories
GET /api/knowledge/items
POST /api/knowledge/items
PUT /api/knowledge/items/:id
מסמכים
GET /api/files?folder=:name
POST /api/files/upload
DEL /api/files/:id
AI Council
POST /api/council/analyze
GET /api/council/poll/:id
GET /api/council/history
DEL /api/council/:id
Webhooks + פרויקטים + צוות
POST /api/webhook/n8n
POST /api/webhook/sheets-to-tenderos
GET /api/projects, /api/team
אינטגרציות
n8n — סוכן מכרזים
- סורק 42+ מקורות ישראליים
- ריצה: ראשון ורביעי 09:00
- AI: GPT-5.4 + Gemini 2.5 Pro
- שמירה: Google Sheets + Supabase
- מייל דיגסט לצוות
BrightData
- Scraping דפי מכרזים, SPA rendering
- תוקף: 08-06-2026
Google Sheets
- מאגר מכרזים ראשי (n8n כותב)
- Sync דו-כיווני עם Supabase
כללי סיווג מכרזים
✅ רלוונטי
- סוג: תכנון, תכנון-ביצוע (Design-Build), מאגרי מתכננים
- תחומים: כבישים, תנועה, מסילות, רכבות קלות, מטרו
- ניקוז, אקוסטיקה, הידרוגאולוגיה, מיקרוסימולציה, BIM
❌ לא רלוונטי
- ביצוע בלבד (לקבלנים)
- ניהול פרויקט
- אדריכלות
מהוד הנדסה
תשתיות כבדות — כבישים, מחלפים, רכבות, מטרו, BIM, אקוסטיקה
אריה צור מהנדסים
כבישים, תנועה, חניונים, ניקוז (מתכננים, לא אדריכלים!)
משתני סביבה
PORT=3000
SUPABASE_URL=https://gmccpaouixswujaoskgz.supabase.co
SUPABASE_SERVICE_KEY=eyJ...
GEMINI_API_KEY=...
AZURE_DI_ENDPOINT=https://mahod-doc-intel-s0.cognitiveservices.azure.com/
AZURE_DI_KEY=7K69G9...
BRIGHTDATA_TOKEN=56734ec5-1904-44b8-b129-0a071dae9360
SUPABASE_URL=https://gmccpaouixswujaoskgz.supabase.co
SUPABASE_SERVICE_KEY=eyJ...
GEMINI_API_KEY=...
AZURE_DI_ENDPOINT=https://mahod-doc-intel-s0.cognitiveservices.azure.com/
AZURE_DI_KEY=7K69G9...
BRIGHTDATA_TOKEN=56734ec5-1904-44b8-b129-0a071dae9360
משתמשים
| שם | אימייל | תפקיד |
|---|---|---|
| ארתור פרומן | arthur-f@mahod.co.il | admin |
| דניאל רוד | daniel-d@mahod.co.il | admin |
| איתי | itay-s@mahod.co.il | editor |
בעיות ידועות
1.
Encoding בשמות קבצים עבריים — gibberish בלוגים (לא משפיע על פונקציונליות)
2.
מטריצת כשירות בניתוח AI — לפעמים counters באפס
3.
Duration בניתוח — לא נמדד (מציג --s)
4.
Preview models של Gemini — פגי תוקף, להשתמש רק בשמות יציבים
עיצוב
Accent #3b82f6
Purple #8b5cf6
Green #22c55e
Red #ef4444
Orange #f59e0b
פונט: Rubik (Google Fonts) • Theme: Dark + Light mode • Layout: RTL מלא • Responsive: Mobile-friendly • אנימציות: KPIs מונפשים, transitions חלקים