תיעוד פרויקט — SchoolNet

רשת ניהול ותפעול לבתי ספר · אחזקה · פורום הנהלה · שיתוף ציוד · תקנים

SchoolNet · הרשמה חינם · multi-tenant · עברית + אנגלית · עודכן: יוני 2026

📋 סטטוס פרויקט — מה בוצע ומה לא

שלבנושאסטטוסקבצים עיקריים (מתוכנן)
0תיעוד + חוקי פרויקט + i18n (החלטות) ✓ הושלם info/info.html .cursorrules
1תשתית PHP + MySQL + layout + i18n ✓ הושלם index.php settings/ install.php i18n.php layout/
2הרשמה, התחברות, מוסד + מנהל ראשון ✓ הושלם register.php login.php dashboard.php auth.php csrf.php
3מודול קריאות אחזקה (Ticketing) ✓ הושלם (MVP) tickets.php ticket-new.php ticket.php include/app/php/tickets.php
4פורום הנהלה + מאגר ידע ◐ מתוכנן forum.php knowledge.php
5לוח שיתוף ציוד בין מוסדות ◐ מתוכנן equipment.php
6יומן תקנים, רישוי ובדיקות ◐ מתוכנן compliance.php reminders.php
7המלצות טכנאים + התראות מלאות (WS, push) ◐ עתידי vendors.php websocket_server.php notifications.php

📌 כללי תיעוד ופיתוח

כלל חובה: כל הוספה, שינוי, מחיקה או החלטה טכנית — מעדכנים את info/info.html באותה משימה, לפני סיום העבודה.

קובץתפקיד
info/info.htmlמקור האמת — חזון, שלבים, DB, סטטוס, החלטות
.cursorrulesחוקים ל-Cursor AI: טכנולוגיה, i18n, סטנדרטי קוד

בסתירה בין הקבצים — info/info.html גובר; יש לעדכן גם את .cursorrules בהתאם.

  • טקסט ממשק — רק דרך t() + he.json / en.json (אין מחרוזות קשיחות)
  • API — רק ב-include/app/php/api/
  • מסד נתונים — התקנה ושדרוג רק ב-settings/install.php
  • סודות — רק ב-settings/config.local.php (לא ב-repo)

1. חזון — הרעיון המרכזי

רשת ניהול ותפעול לבתי ספר ומוסדות — במקום לפנות לכל מערכת החינוך בבת אחת, המוצר מתאים בול לבתי ספר בודדים, סמינרים, רשתות חינוך פרטיות ומתנ"סים.

המערכת מרכזת את מה שההנהלה, אנשי התפעול וצוותי ההוראה צריכים ביום-יום: פתיחת תקלות מאובייל, שיתוף ידע בין מנהלים, השאלת ציוד עודף, ומעקב אחר בדיקות חובה (בטיחות, כיבוי אש, הדברות ועוד).

ערך מוסף לרשת: מוסדות באותה רשת חולקים המלצות על ספקים וטכנאים, לומדים זה מזה, וחוסכים כסף וזמן — «אל תמציא את הגלגל».

ארכיטקטורה: מופע אחד של SchoolNet משרת רשתות רבות (multi-tenant) — כל רשת עם מוסדות משלה, מבודדת ב-network_id.

2. מודולים מרכזיים — שלושת עמודי התווך

🔧 2.1 ניהול קריאות אחזקה ותקלות (Ticketing System)

איך זה עובד?

  • מורה או איש צוות פותח קריאה מהנייד — לדוגמה: «מזגן מקולקל בחדר 4», «חלון שבור בכיתה ב'3».
  • צירוף תמונה מהמכשיר, בחירת מיקום (בניין / קומה / חדר), דחיפות וקטגוריה (חשמל, אינסטלציה, מיזוג וכו').
  • אב הבית / אחראי תחזוקה מקבל התראה בלייב — WebSocket (עיקרי) + polling (גיבוי) + אימייל + push (שלבים 3–7).
  • עדכון סטטוס: חדש בטיפול הוזמן טכנאי נסגר.
  • היסטוריית קריאות לפי מוסד, דוחות חודשיים, זמן תגובה ממוצע.

ערך קהילתי ברשת

  • אם אב בית נתקל במקרר תעשייתי שבור ומצא טכנאי מצוין וזול — המערכת יכולה להמליץ עליו אוטומטית לאבות בית בבתי ספר סמוכים ברשת.
  • דירוג טכנאים וספקים לפי חוויית משתמשים ברשת (שלב 7).
  • תגיות: «מומלץ ברשת», «טיפל ב-X מוסדות».
💡 2.2 מאגר ידע חכם ופורום הנהלה — «אל תמציא את הגלגל»

פורום הנהלה (סגור)

  • אזור קהילתי למנהלים, סגנים ואנשי מנהלה בלבד — לא לציבור הרחב.
  • שאלות ותשובות: «איך מתמודדים עם תקציב לוגיסטי לטקס סוף שנה?», «מי מכיר ספק אמין למכונות קפה למורים?»
  • מדרוג תשובות (upvote) — התשובות הטובות עולות למעלה.
  • תיוג לפי נושא: תקציב, רכש, כוח אדם, בטיחות, IT ועוד.
  • מאמרי ידע קבועים (Wiki) — מדריכים שאושרו על ידי מנהל רשת.

לוח שיתוף משאבים (ציוד)

  • בתי ספר קונים המון ציוד שנשאר במחסנים: כיסאות עודפים, ציוד הגברה ישן, ריהוט ועוד.
  • פרסום פריטים להשאלה, מכירה או העברה בין מוסדות באותה רשת.
  • חיפוש לפי סוג ציוד, מיקום גיאוגרפי, מצב (חדש / משומש).
  • סטטוס: זמין · מוזמן · הועבר.
📅 2.3 לוח משימות ותזכורות לתקנים ורישוי (Compliance)
  • בתי ספר חייבים בבדיקות תקופתיות: בטיחות מוסדות חינוך, אישורי כיבוי אש, הדברות, בדיקות גז במטבחים, מעליות, מיגון ועוד.
  • יומן חכם — תזכורות אוטומטיות להנהלה: מתי לפתוח קריאה, מול איזה גורם חיצוני לעבוד, מה המסמכים הנדרשים.
  • תבניות בדיקה מוכנות (לפי סוג מוסד) + אפשרות להתאמה אישית.
  • סטטוס בדיקה: מתוכנן בוצע פג תוקף דורש טיפול.
  • העלאת אישורים ותעודות (PDF) — שמירה ב-data/ עם גישה מוגבלת.
  • דשבורד מנהל: «מה פג השבוע», «מה בחודש הקרוב».

3. קהל יעד ותפקידים במוסד

קהלשימוש עיקרי במערכת
מנהל / סגן מנהלנרשם/ת ב-register.php — מנהל/ת המוסד; פורום, תקנים, דוחות, הזמנת צוות
אחראי תפעול / אב ביתניהול קריאות, עדכון סטטוס, המלצות טכנאים
מורה / איש צוותפתיחת קריאות מהנייד, מעקב אחר תקלה
מנהל רשת (מערכת)ניהול מוסדות, משתמשים, תבניות תקנים, מודרציה
רכש / לוגיסטיקהלוח ציוד, פורום רכש, מעקב אחר העברות

מוסדות יעד: בתי ספר (ממלכתי / מוכר / פרטי), סמינרים, רשתות חינוך, מתנ"סים. כניסה: הרשמה עצמית חינמית — כל מוסד מתחיל כשמנהל/ת נרשם/ת ומקים/ה את בית הספר במערכת.

4. בחירת טכנולוגיה

שכבהטכנולוגיהסיבה
FrontendHTML + Alpine.js + Flowbiteאינטראקטיביות קלה, ללא build, RTL/LTR
עיצובFlowbite (include/flowbite/)קומפוננטות UI מוכנות, Tailwind
אייקוניםMaterial Icons (include/MaterialIcons/)אייקונים אחידים בכל המערכת
שפותעברית + אנגליתhe (RTL) · en (LTR) — ראה 4.1
תרגום (i18n)JSON + t() ב-PHPinclude/app/lang/*.json · Alpine: window.__i18n
CSS / UIFlowbite v4 + Tailwind browserראה include/flowbite/THEME.md
BackendPHP 8.1+sessions, API JSON, uploads, hosting נפוץ
מסד נתוניםMySQL (PDO)יחסים בין מוסדות, קריאות, פורום
התקנת DBsettings/install.phpהתקנה ראשונה + כל שדרוג טבלאות/שדות
קבציםdata/תמונות קריאות, אישורי תקן, לוגים
APIPHP JSONinclude/app/php/api/ בלבד
התראותWebSocket + polling + אימייל + pushקריאות חדשות, תזכורות תקן — WS ראשי, polling גיבוי
אימותPHP Sessions + password_hashפשוט ומאובטח לרשת סגורה

החלטות שנקבעו: PHP · MySQL · Alpine.js · Flowbite · Material Icons · עברית + אנגלית · תרגום JSON + t() · SchoolNet · multi-tenant · התראות: WebSocket + polling + אימייל + push · הרשמה חינם · DB דרך settings/install.php · ללא npm/webpack

4.1 רב-לשוניות — עברית ואנגלית

כל ממשק המערכת (תפריטים, כפתורים, הודעות שגיאה, תוויות טפסים) חייב להיות זמין בעברית ובאנגלית. תוכן שמשתמשים כותבים (פורום, תיאור קריאה) נשמר בשפת המקור.

שכבהטכנולוגיהתפקיד
קבצי תרגוםJSONinclude/app/lang/he.json · en.json
PHPפונקציה t('key')include/app/php/i18n.php — טעינת locale, החלפת פרמטרים
Alpine.jswindow.__i18nאובייקט שמוזרק מ-PHP; t(key) בצד לקוח
בחירת שפהSession + Cookieמחליף HE/EN ב-header; שמירה ב-users.locale למחוברים
HTMLlang + dirעברית: dir="rtl" · אנגלית: dir="ltr"
תאריכיםIntl / NumberFormatterפורמט לפי locale פעיל

לא בשימוש: gettext · i18next · תרגום אוטומטי (API) — רק קבצי JSON ידניים בשלב זה.

מפתחות: פורמט module.section.key — כל מפתח חדש ב-he.json וב-en.json יחד.

// מפתחות (דוגמה)
{ "nav.dashboard": "לוח בקרה", "tickets.new": "קריאה חדשה" }

// PHP
echo t('tickets.new');

// Alpine
<button x-text="t('tickets.save')"></button>
      

4.2 התראות (Notifications)

מערכת ההתראות תתמוך בארבע שכבות — לפי סוג אירוע ושלב פיתוח:

ערוץשימוששלב
WebSocketהתראות מיידיות — קריאה חדשה, עדכון סטטוס, הודעות פורום3+ (עיקרי)
polling (AJAX)גיבוי כש-WebSocket לא זמין; סביבות ללא WS3 (MVP)
אימיילתזכורות תקן, סיכום יומי, קריאות שלא טופלו5+
pushהתראות לנייד (דפדפן / PWA — שלב מאוחר)6+

עקרון: WebSocket לזמן אמת · polling כ-fallback אוטומטי · אימייל ו-push לאירועים חשובים שלא נקראו.

5. מבנה תיקיות

site-school/
├── index.php                    ← נקודת כניסה — טוען את המערכת
├── info/
│   └── info.html                ← תיעוד פרויקט (קובץ זה)
├── settings/
│   ├── config.php               ← הגדרות ברירת מחדל (ב-repo)
│   ├── config.local.example.php ← דוגמה להעתקה
│   ├── config.local.php         ← סודות מקומיים (לא ב-repo)
│   ├── install.php              ← התקנה ושדרוג טבלאות DB (חובה)
│   └── schema.sql               ← תיעוד סכמה (לא להריץ ידנית)
├── data/                        ← קבצים שהועלו, אישורים, לוגים
│   └── .htaccess                ← חסימת גישה ישירה
├── include/
│   ├── app/
│   │   ├── php/
│   │   │   ├── bootstrap.php    ← בדיקות PHP, תיקיות, DB
│   │   │   ├── init.php         ← session, auth, locale
│   │   │   ├── i18n.php         ← t(), locale(), html_dir()
│   │   │   ├── auth.php
│   │   │   ├── tickets.php      ← לוגיקת קריאות
│   │   │   ├── forum.php
│   │   │   ├── equipment.php
│   │   │   ├── compliance.php
│   │   │   ├── api/             ← endpoints JSON
│   │   │   └── scripts/         ← SQL, גיבוי
│   │   ├── lang/
│   │   │   ├── he.json          ← תרגום עברית
│   │   │   └── en.json          ← תרגום אנגלית
│   │   ├── js/                  ← Alpine + סקריפטים
│   │   └── css/                 ← עיצוב מותאם
│   ├── flowbite/                ← ספריית Flowbite (לא לערוך)
│   └── MaterialIcons/           ← אייקונים (לא לערוך)
├── login.php                    ← (מתוכנן) התחברות
├── register.php                 ← הרשמה חינם — יצירת מוסד + מנהל
├── login.php                    ← התחברות (אימייל + סיסמה)
├── logout.php                   ← יציאה
├── dashboard.php                ← לוח בקרה (אחרי התחברות)
├── tickets.php                  ← רשימת קריאות + סינון
├── ticket-new.php               ← פתיחת קריאה
├── ticket.php                   ← צפייה + עדכונים
├── ticket-file.php              ← הגשת תמונה מאובטחת
├── forum.php                    ← (מתוכנן) פורום הנהלה
├── equipment.php                ← (מתוכנן) שיתוף ציוד
├── compliance.php               ← (מתוכנן) יומן תקנים
└── .cursorrules                 ← חוקי פרויקט ל-Cursor
    

6. דפים ופיצ'רים — פירוט

6.1 דף בית (index.php)

  • דשבורד ראשי אחרי התחברות — סיכום: קריאות פתוחות, תזכורות תקן קרובות, הודעות חדשות בפורום.
  • לפני התחברות: הסבר על המערכת, יתרונות, CTA להרשמה חינם / התחברות.
  • תמיכה מלאה בנייד (מורים פותחים קריאות מהטלפון).
  • מחליף שפה עברית / English ב-header.

6.2 הרשמה (register.php) — חינם, פתוחה לכולם

עקרון: כל מנהל/ת שרוצה להקים מערכת לבית הספר שלו/ה נרשם/ת בחינם. עם סיום ההרשמה נוצרים מוסד חדש (בית ספר) והמשתמש/ת הראשון/ה הופך/ת למנהל/ת המוסד (institution_admin) — בעל/ת שליטה מלא על בית הספר שלו/ה.

שדות בטופס הרשמה

שדהחובההערות
שם מלא (שם המנהל/ה)כןמוצג בפרופיל — לא משמש להתחברות
אימיילכןייחודי · גם שם הכניסה להתחברות · שחזור סיסמה (שלב מאוחר)
טלפוןכןשל המנהל/ה או של המוסד
שם בית הספרכןיוצר רשומת institutions חדשה
סיסמה + אימותכןpassword_hash
כתובת בית הספראופציונלירחוב, עיר
סוג מוסדאופציונליבית ספר / סמינר / מתנ"ס וכו'
שפת ממשק מועדפתאופציונליhe / enusers.locale

מה קורה אחרי שליחה?

  1. נוצר מוסד חדש עם שם בית הספר, טלפון וכתובת.
  2. נוצר משתמש עם role = institution_admin משויך למוסד.
  3. התחברות אוטומטית (session) והפניה לדשבורד (index.php).
  4. מוסד חדש משויך לרשת ברירת מחדל (network_id) — לשיתוף פורום וציוד בין מוסדות (ניתן לשנות בשלב מאוחר).
  5. מנהל/ת המוסד יכול/ה להזמין צוות (מורים, אחזקה) — שלב מאוחר.

התחברות (login.php): שם הכניסה = האימייל שנרשם איתו + סיסמה. אין שדה username נפרד.

6.3 קריאות אחזקה (tickets.php)

  • רשימת קריאות עם סינון: סטטוס, קטגוריה, מיקום, תאריך, דחיפות.
  • טופס פתיחת קריאה: כותרת, תיאור, מיקום (בניין/חדר), קטגוריה, תמונה.
  • תצוגת כרטיס קריאה — ציר זמן עדכונים, הערות פנימיות לאחזקה.
  • התראה לאחראי תחזוקה בקריאה חדשה.
  • קישור אוטומטי לטכנאי מומלץ (שלב 7) לפי סוג תקלה ודירוג ברשת.

6.4 פורום הנהלה ומאגר ידע (forum.php, knowledge.php)

  • פוסטים לפי קטגוריה — שאלה / דיון / מדריך.
  • תשובות עם upvote, סימון «תשובה מומלצת».
  • מאגר ידע: מדריכים שאושרו, חיפוש מלא.
  • גישה: מנהלים וסגנים בלבד (ניתן להרחיב לתפקידים נוספים).

6.5 לוח שיתוף ציוד (equipment.php)

  • פרסום פריט: שם, תיאור, כמות, מצב, תמונה, מחיר (אופציונלי / חינם / להשאלה).
  • חיפוש וסינון לפי מוסד, מרחק, סוג.
  • בקשת פריט — הודעה למפרסם, מעקב סטטוס.
  • היסטוריית העברות בין מוסדות ברשת.

6.6 יומן תקנים ורישוי (compliance.php)

  • רשימת בדיקות חובה לפי סוג מוסד (תבנית מנהל רשת).
  • תאריך ביצוע אחרון, תאריך תפוגה, תזכורת X ימים מראש.
  • העלאת אישור / תעודה (PDF).
  • יצירת קריאת אחזקה אוטומטית כשבדיקה דורשת טיפול (אינטגרציה עם מודול 2.1).
  • דוח PDF לביקורת / משרד החינוך (שלב מאוחר).

6.7 ניהול מוסד וצוות (admin/ — מתוכנן)

  • מנהל/ת המוסד (נרשם/ה ראשון/ה) — מזמין/ה משתמשים נוספים למוסד (מורים, אחזקה).
  • עריכת פרטי בית הספר (שם, טלפון, כתובת).
  • תבניות תקנים, קטגוריות קריאות, מודרציה בפורום (ברמת המוסד).
  • מנהל רשת (network_admin) — נפרד; ניהול רשתות מרובות מוסדות (שלב מאוחר / ידני).

7. תפקידים והרשאות (טיוטה)

תפקידקריאותפורוםציודתקניםניהול
מורה / צוותפתיחה + צפייה שלוצפייה
אחראי תחזוקהכל המוסדקריאהפרסוםצפייה
מנהל מוסד (נרשם ראשון)כל המוסדכתיבהפרסום + אישורעריכהמשתמשי מוסד, פרטי בית ספר
מנהל רשתכל הרשתמודרציהכל הרשתתבניותמלא

ערכי role (טיוטה): staff · maintenance · institution_admin · network_admin

8. מבנה מסד נתונים (טיוטה)

⚙️ התקנה ושדרוג — settings/install.php

כלל חובה: יצירה ועדכון של טבלאות ושדות — רק דרך settings/install.php.

  • התקנה ראשונה — הרצת install.php יוצרת את כל הטבלאות.
  • שדרוג — כל הוספת טבלה/עמודה/אינדקס מתווספת ל-install.php ומריצים שוב על השרת.
  • אסור — ליצור טבלאות מ-bootstrap.php, דפי האתר או ייבוא ידני של SQL (חוץ מדרך install).
  • מעקב גרסאות: טבלת schema_migrations (מומלץ) — מה כבר הורץ.
  • בייצור: להגן על install.php (מפתח / IP) או להסיר אחרי התקנה.
-- networks (רשתות חינוך)
id, name, slug, settings (JSON), created_at

-- institutions (מוסדות — נוצר בהרשמה)
id, network_id (ברירת מחדל), name, address, city, type,
contact_phone, contact_email, created_by_user_id, created_at

-- users
id, institution_id, email (ייחודי — שם כניסה), password_hash, full_name,
role (staff/maintenance/institution_admin/network_admin),
phone, locale (he/en), is_active, last_seen, created_at

-- tickets (קריאות אחזקה)
id, institution_id, created_by, assigned_to, title, description,
category, location_building, location_room, priority, status,
image_path, vendor_id (nullable), closed_at, created_at, updated_at

-- ticket_comments
id, ticket_id, user_id, body, is_internal, created_at

-- vendors (טכנאים / ספקים מומלצים)
id, network_id, name, specialty, phone, rating_avg, review_count, created_at

-- vendor_reviews
id, vendor_id, user_id, institution_id, ticket_id, rating, comment, created_at

-- forum_posts
id, network_id, user_id, category, title, body, is_pinned, upvotes, created_at

-- forum_replies
id, post_id, user_id, body, upvotes, is_accepted, created_at

-- knowledge_articles (מאגר ידע)
id, network_id, author_id, title, body, category, is_published, created_at

-- equipment_listings (שיתוף ציוד)
id, institution_id, user_id, title, description, quantity, condition,
listing_type (loan/sale/free), price, image_path, status, created_at

-- compliance_items (פריטי תקן למוסד)
id, institution_id, template_id, title, last_done_at, expires_at,
reminder_days, status, certificate_path, notes

-- compliance_templates (תבניות מנהל רשת)
id, network_id, title, description, default_interval_days, category
    

9. אבטחה ופרטיות

  • סיסמאות — password_hash() / password_verify() (bcrypt)
  • אימות — PHP Sessions (HttpOnly · SameSite)
  • הרשאות לפי תפקיד + מוסד — משתמש רואה רק את המוסד שלו (מנהל רשת — הכל)
  • CSRF token בכל טופס POST
  • Rate limiting על login ו-API
  • קבצים ב-data/ — גישה רק דרך PHP מורשה, לא URL ישיר
  • סודות DB ב-settings/config.local.php בלבד — לא ב-repo
  • פורום הנהלה — סגור, לא מאונדקס בגוגל (noindex)
  • HTTPS חובה בייצור

10. שלבי פיתוח — סדר עבודה מומלץ

1
תשתית + layout ✓ הושלם

settings/config.php · install.php · bootstrap · i18n · index.php · layout Flowbite + Alpine · מחליף שפה

2
הרשמה חינם + התחברות ✓ הושלם

register.php — יצירת מוסד + institution_admin · login.php · logout.php · dashboard.php · auth.php · csrf.php · הזמנת צוות (שלב מאוחר)

3
מודול קריאות אחזקה (MVP) ✓ הושלם

פתיחה · רשימה + סינון · צפייה · סטטוסים · הערות · תמונה · הרשאות לפי תפקיד · התראות (polling/WS — בהמשך)

4
פורום הנהלה + מאגר ידע ◐ מתוכנן

פוסטים · תשובות · upvote · קטגוריות · חיפוש

5
שיתוף ציוד + יומן תקנים ◐ מתוכנן

לוח ציוד · תזכורות compliance · העלאת אישורים · קישור לקריאות

6
רשת, המלצות טכנאים, ליטוש ◐ עתידי

דירוג ספקים ברשת · WebSocket מלא להתראות · push · דוחות · גיבוי · פריסה

11. עיצוב UI

  • מודל עיצוב: מבוסס על site-xxm — CSS משתנים (--bg, --surface, --accent) · dark בלבד
  • Accent: צהוב #facc15 / hover #fde047 (במקום ורוד ב-xxm) · כפתור primary עם טקסט כהה
  • קובץ עיצוב: include/app/css/app.css — header, footer, כפתורים, כרטיסים, דף בית
  • Flowbite — נטען לשימוש עתידי בטפסים/קומפוננטות; דף הבית משתמש ב-CSS מותאם
  • Material Icons — אייקוני פעולה
  • כיוון דינמי: RTL (עברית) / LTR (אנגלית) — dir על <html>
  • מחליף שפה HE / EN ב-header · ניווט נייד (nav.js)
  • דף בית: hero + סטטיסטיקות · מודולים (2×2) · about + שלבים · trust · CTA סופי
  • Mobile-first — responsive ב-900px / 720px / 480px
  • צבעי סטטוס (בהמשך): אדום (דחוף) · כתום (בטיפול) · ירוק (נסגר)

12. החלטות פתוחות — לפני התחלת קוד

נושאאפשרויותהחלטה
שם המוצר SchoolNet / EduOps / שם אחר ✓ SchoolNet
הרשמה הזמנה בלבד / הרשמה פתוחה וחינם ✓ חינם ופתוחה — נרשם = מנהל מוסד + בית ספר חדש
ריבוי רשתות מופע אחד לכל רשת / multi-tenant ✓ multi-tenant (טבלת networks)
התראות אימייל / push / polling / WebSocket ✓ כולם — WebSocket ראשי, polling גיבוי, אימייל + push לתזכורות
שפות ממשק עברית בלבד / עברית + אנגלית ✓ עברית + אנגלית (JSON + t())
מיקום API שורש api/ / include/app/php/api/ ✓ include/app/php/api/
התקנת DB schema.sql ידני / install.php / אוטומטי ב-bootstrap ✓ settings/install.php בלבד
רשת ברירת מחדל בהרשמה רשת חדשה / network_id = 1 ✓ רשת כללית (id=1) ב-install
ערכת נושא UI בהיר / כהה / מערכת ✓ dark בלבד · accent צהוב (מבוסס site-xxm)
אינטגרציה משרד החינוך API חיצוני / ידני לא בשלב ראשון

13. פריסה לשרת (מתוכנן)

  1. שרת PHP 8.1+ עם MySQL (cPanel / VPS)
  2. העתק settings/config.local.example.phpconfig.local.php + פרטי DB
  3. הרשאות כתיבה: data/
  4. הרצת settings/install.php — התקנה ראשונה או שדרוג טבלאות אחרי deploy
  5. HTTPS · הגדר SITE_URL ב-config.local.php (מומלץ) — אחרת נגזר אוטומטית מתיקיית האתר
  6. ודא שכל קבצי השורש עלו לשרת: dashboard.php, logout.php וכו'
  7. גיבוי: cron ל-scripts/backup.php (שלב 6)

14. הערכת מצב (יוני 2026)

שלב נוכחי: שלב 3 הושלם (MVP) — קריאות אחזקה.

הבא בתור: שלב 4 — פורום הנהלה + מאגר ידע.

העלאה לשרת: העתק config.local.example.phpconfig.local.php · הרץ /settings/install.php · פתח /index.php.

חוזק המוצר: פתרון ממוקד לבעיה אמיתית (אחזקה + ידע + תקנים) עם ערך רשת בין מוסדות — לא תלוי במערכת ממשלתית אחת.