Skip to content

Latest commit

 

History

History
215 lines (174 loc) · 5.52 KB

File metadata and controls

215 lines (174 loc) · 5.52 KB

מערכת הודעות - תיעוד

סקירה כללית

מערכת הודעות מלאה המאפשרת תקשורת דו-כיוונית בין משתמשים למנהלים.

תכונות עיקריות

למשתמשים

  • ✅ שליחת הודעות למנהלים מהדשבורד האישי
  • ✅ צפייה בכל ההודעות שנשלחו
  • ✅ קבלת תגובות מהמנהלים
  • ✅ אינדיקטור ויזואלי להודעות שנענו
  • ✅ ממשק נוח ופשוט לשימוש

למנהלים

  • ✅ טאב ייעודי "הודעות" באיזור הניהול
  • ✅ צפייה בכל ההודעות מכל המשתמשים
  • ✅ מענה להודעות עם תגובות
  • ✅ סימון הודעות כנקראו
  • ✅ מחיקת הודעות
  • ✅ אינדיקטור בהדר למספר הודעות חדשות
  • ✅ רענון אוטומטי כל 30 שניות

מבנה הנתונים

אובייקט הודעה ב-MongoDB

{
  _id: ObjectId,
  subject: String,           // נושא ההודעה
  message: String,           // תוכן ההודעה
  senderId: String,          // מזהה השולח
  senderName: String,        // שם השולח
  senderEmail: String,       // אימייל השולח
  recipientId: String|null,  // מזהה הנמען (null = למנהלים)
  status: String,            // 'unread' | 'read' | 'replied'
  createdAt: String,         // תאריך יצירה
  updatedAt: String,         // תאריך עדכון אחרון
  readAt: String,            // תאריך קריאה
  replies: [                 // מערך תגובות
    {
      message: String,
      senderId: String,
      senderName: String,
      senderEmail: String,
      createdAt: String
    }
  ]
}

API Routes

1. GET /api/messages/list

קבלת רשימת הודעות

  • מנהלים: רואים את כל ההודעות
  • משתמשים: רואים רק את ההודעות שלהם

Response:

{
  "success": true,
  "messages": [...]
}

2. POST /api/messages/send

שליחת הודעה חדשה

Body:

{
  "subject": "נושא ההודעה",
  "message": "תוכן ההודעה",
  "recipientId": null  // null = למנהלים
}

Response:

{
  "success": true,
  "message": "ההודעה נשלחה בהצלחה",
  "messageId": "..."
}

3. POST /api/messages/reply

תגובה להודעה (מנהלים בלבד)

Body:

{
  "messageId": "...",
  "reply": "תוכן התגובה"
}

Response:

{
  "success": true,
  "message": "התגובה נשלחה בהצלחה"
}

4. PUT /api/messages/mark-read

סימון הודעה כנקראה

Body:

{
  "messageId": "..."
}

Response:

{
  "success": true,
  "message": "ההודעה סומנה כנקראה"
}

5. DELETE /api/messages/delete

מחיקת הודעה (מנהלים בלבד)

Body:

{
  "messageId": "..."
}

Response:

{
  "success": true,
  "message": "ההודעה נמחקה בהצלחה"
}

קבצים שנוצרו/עודכנו

API Routes

  • src/app/api/messages/list/route.js - קבלת רשימת הודעות
  • src/app/api/messages/send/route.js - שליחת הודעה
  • src/app/api/messages/reply/route.js - תגובה להודעה
  • src/app/api/messages/mark-read/route.js - סימון כנקרא
  • src/app/api/messages/delete/route.js - מחיקת הודעה

Components

  • src/app/admin/AdminClient.jsx - הוספת טאב הודעות
  • src/app/dashboard/page.jsx - הוספת שליחה וצפייה בהודעות
  • src/components/Header.jsx - אינדיקטור הודעות חדשות

שימוש

משתמש רגיל

  1. שליחת הודעה:

    • היכנס לדשבורד האישי
    • לחץ על "שלח הודעה למנהלים"
    • מלא נושא והודעה
    • לחץ "שלח הודעה"
  2. צפייה בהודעות:

    • לחץ על "ההודעות שלי" בדשבורד
    • צפה בכל ההודעות והתגובות
    • הודעות שנענו מסומנות בירוק

מנהל

  1. צפייה בהודעות:

    • היכנס לאיזור הניהול
    • לחץ על טאב "הודעות"
    • הודעות חדשות מסומנות בכחול
  2. מענה להודעה:

    • לחץ "השב" על ההודעה
    • כתוב תגובה
    • לחץ "שלח תגובה"
  3. ניהול הודעות:

    • סמן כנקרא - לסימון הודעה שנקראה
    • מחק - למחיקת הודעה

אבטחה

  • ✅ כל ה-API routes מאומתים עם NextAuth
  • ✅ משתמשים רואים רק את ההודעות שלהם
  • ✅ מנהלים בלבד יכולים למחוק הודעות
  • ✅ ולידציה של כל הקלטים

שיפורים עתידיים אפשריים

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

טיפים לשימוש

  1. למנהלים: בדוק את ההודעות באופן קבוע - האינדיקטור בהדר יעדכן אותך
  2. למשתמשים: כתוב הודעות ברורות עם נושא מפורט
  3. כולם: השתמש בשפה מכבדת ומקצועית

תאריך יצירה: נובמבר 2025 גרסה: 1.0