GPMS API

Graduation Projects Management System

Base URL

https://unigpms.com/api/v1
API v1 • Live

Welcome to
GPMS API Documentation

Comprehensive and interactive documentation for all API endpoints

59
Available Endpoints
REST
API Architecture
JWT
Sanctum Auth

عام (General)

نقاط التحقق والمستخدم الحالي وبعض المسارات المساندة

3 endpoints
GET

حالة الـ API

/health

فحص سريع للتأكد من أن الخادم يعمل.

Response Example

{
    "status": "success",
    "message": "API is running"
}

cURL Example

curl -X GET https://unigpms.com/api/v1/health
  -H "Content-Type: application/json"
GET

المستخدم الحالي

Auth Required
/user

إرجاع بيانات المستخدم الحالي بعد المصادقة.

Response Example

{
    "status": "success",
    "data": {
        "id": 1,
        "name": "أحمد محمد",
        "email": "ahmed@example.com",
        "phone": "+96777777777",
        "avatar_url": "https:\/\/example.com\/avatar.png",
        "role": "student",
        "profile_details": {
            "id": 11,
            "full_name": "أحمد محمد",
            "academic_number": "202301001",
            "department": {
                "name": "علوم الحاسب"
            },
            "academic_year": {
                "name": "2025\/2026"
            }
        }
    }
}

cURL Example

curl -X GET https://unigpms.com/api/v1/user
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
GET

فحص IP محلي

Auth Required
/test-auth

مسار محلي فقط لتجربة المصادقة أثناء التطوير.

Note

متاح فقط في بيئة local.

Response Example

{
    "status": "success",
    "data": "127.0.0.1"
}

cURL Example

curl -X GET https://unigpms.com/api/v1/test-auth
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"

المصادقة (Authentication)

endpoints تسجيل الدخول والخروج

2 endpoints
POST

تسجيل الدخول

/login

تسجيل دخول المستخدم والحصول على token

Request Parameters

email string Required

البريد الإلكتروني

password string Required

كلمة المرور

device_name string Optional

اسم الجهاز

Response Example

{
    "status": "success",
    "token": "1|xxxxxxxxxxxxxx",
    "user": {
        "id": 1,
        "name": "أحمد محمد",
        "email": "ahmed@example.com",
        "phone": "+96777777777",
        "avatar_url": "https:\/\/example.com\/avatar.png",
        "role": "student",
        "profile_details": {
            "id": 11,
            "full_name": "أحمد محمد",
            "academic_number": "202301001"
        }
    }
}

cURL Example

curl -X POST https://unigpms.com/api/v1/login
  -H "Content-Type: application/json"
  -d '{"email":"value","password":"value","device_name":"value"}'
POST

تسجيل الخروج

Auth Required
/logout

إنهاء جلسة المستخدم وحذف token

Response Example

{
    "status": "success",
    "message": "تم تسجيل الخروج بنجاح."
}

cURL Example

curl -X POST https://unigpms.com/api/v1/logout
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"

غرفة الدردشة (Project Chat)

دردشة المشروع والقراءة الفورية والمرفقات.

1 endpoints
GET

المشاركون

Auth Required
/project-chat/participants

قائمة المشاركين المصرح لهم في شات المشروع.

Request Parameters

project_id integer Required

معرف المشروع

Response Example

{
    "status": "success",
    "data": [
        {
            "id": 1,
            "name": "أحمد محمد",
            "role": "student"
        },
        {
            "id": 9,
            "name": "د. محمد أحمد",
            "role": "supervisor"
        }
    ]
}

cURL Example

curl -X GET https://unigpms.com/api/v1/project-chat/participants
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"

الطالب (Student)

endpoints إدارة الطالب والفريق والمشروع

28 endpoints
GET

الملف الشخصي

Auth Required
/student/profile

الحصول على بيانات الطالب الشخصية

Response Example

{
    "status": "success",
    "data": {
        "id": 1,
        "name": "أحمد محمد",
        "student_id": "202301001",
        "email": "ahmed@example.com",
        "department": "علوم الحاسب",
        "academic_year": "2023\/2024"
    }
}

cURL Example

curl -X GET https://unigpms.com/api/v1/student/profile
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
GET

فريقي

Auth Required
/student/my-team

الحصول على بيانات الفريق

Response Example

{
    "status": "success",
    "data": {
        "id": 1,
        "name": "فريق الذكاء الاصطناعي",
        "members_count": 3,
        "leader": "أحمد محمد"
    }
}

cURL Example

curl -X GET https://unigpms.com/api/v1/student/my-team
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
GET

ملفات مشروعي

Auth Required
/student/project-files

قائمة ملفات مشروع الفريق الحالي.

Response Example

{
    "status": "success",
    "data": []
}

cURL Example

curl -X GET https://unigpms.com/api/v1/student/project-files
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
GET

تصفح الفرق

Auth Required
/student/teams/browse

عرض الفرق المتاحة للانضمام.

Request Parameters

search string Optional

بحث بالاسم أو رقم الفريق

Response Example

{
    "status": "success",
    "data": []
}

cURL Example

curl -X GET https://unigpms.com/api/v1/student/teams/browse
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
GET

طلبات انضمامي

Auth Required
/student/teams/join-requests

الطلبات الصادرة من الطالب للفرق.

Response Example

{
    "status": "success",
    "data": []
}

cURL Example

curl -X GET https://unigpms.com/api/v1/student/teams/join-requests
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
GET

طلاب قابلون للدعوة

Auth Required
/student/teams/inviteable-students

الطلاب الذين يمكن للقائد دعوتهم.

Response Example

{
    "status": "success",
    "data": []
}

cURL Example

curl -X GET https://unigpms.com/api/v1/student/teams/inviteable-students
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
GET

الدعوات الصادرة

Auth Required
/student/teams/outgoing-invitations

الدعوات التي أرسلها قائد الفريق.

Response Example

{
    "status": "success",
    "data": []
}

cURL Example

curl -X GET https://unigpms.com/api/v1/student/teams/outgoing-invitations
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
GET

دعواتي الواردة

Auth Required
/student/teams/invitations

الدعوات الواردة للطالب.

Response Example

{
    "status": "success",
    "data": []
}

cURL Example

curl -X GET https://unigpms.com/api/v1/student/teams/invitations
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
POST

دعوة طالب للفريق

Auth Required
/student/teams/invitations

إرسال دعوة انضمام لزميل.

Request Parameters

student_id integer Required

معرف الطالب

Response Example

{
    "status": "success",
    "message": "تم إرسال الدعوة بنجاح."
}

cURL Example

curl -X POST https://unigpms.com/api/v1/student/teams/invitations
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"student_id":1}'
POST

الرد على دعوة

Auth Required
/student/teams/invitations/{teamRequest}/respond

قبول أو رفض دعوة انضمام.

Request Parameters

status string Required

accepted, rejected

Response Example

{
    "status": "success",
    "message": "تم تحديث حالة الدعوة."
}

cURL Example

curl -X POST https://unigpms.com/api/v1/student/teams/invitations/{teamRequest}/respond
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"status":"value"}'
GET

طلبات الانضمام الواردة

Auth Required
/student/teams/incoming-join-requests

طلبات الانضمام الموجهة لفريق القائد.

Response Example

{
    "status": "success",
    "data": []
}

cURL Example

curl -X GET https://unigpms.com/api/v1/student/teams/incoming-join-requests
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
POST

الرد على طلب انضمام

Auth Required
/student/teams/join-requests/{teamRequest}/respond

قبول أو رفض طلب انضمام وارد.

Request Parameters

status string Required

accepted, rejected

Response Example

{
    "status": "success",
    "message": "تم تحديث حالة الطلب."
}

cURL Example

curl -X POST https://unigpms.com/api/v1/student/teams/join-requests/{teamRequest}/respond
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"status":"value"}'
POST

طلب الانضمام لفريق

Auth Required
/student/teams/join-request

إرسال طلب انضمام للفريق.

Request Parameters

team_id integer Required

معرف الفريق

Response Example

{
    "status": "success",
    "message": "تم إرسال طلب الانضمام."
}

cURL Example

curl -X POST https://unigpms.com/api/v1/student/teams/join-request
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"team_id":1}'
POST

إنشاء فريق

Auth Required
/student/teams

إنشاء فريق جديد

Request Parameters

name string Required

اسم الفريق

Response Example

{
    "status": "success",
    "message": "تم إنشاء الفريق بنجاح.",
    "data": {
        "id": 1,
        "name": "فريق الذكاء الاصطناعي"
    }
}

cURL Example

curl -X POST https://unigpms.com/api/v1/student/teams
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"name":"value"}'
POST

إنشاء مشروع

Auth Required
/student/projects

إنشاء مشروع تخرج

Request Parameters

title string Required

عنوان المشروع

field string Optional

مجال المشروع

abstract text Required

الملخص

Response Example

{
    "status": "success",
    "message": "تم إنشاء المشروع بنجاح."
}

cURL Example

curl -X POST https://unigpms.com/api/v1/student/projects
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"title":"value","field":"value","abstract":"value"}'
PATCH

تعديل المشروع

Auth Required
/student/projects/{project}

تعديل بيانات المشروع (للقائد فقط).

Request Parameters

title string Optional

عنوان المشروع

field string Optional

مجال المشروع

abstract text Optional

الملخص

Response Example

{
    "status": "success",
    "message": "تم تعديل المشروع بنجاح."
}

cURL Example

curl -X PATCH https://unigpms.com/api/v1/student/projects/{project}
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"title":"value","field":"value","abstract":"value"}'
DELETE

حذف المشروع

Auth Required
/student/projects/{project}

حذف المشروع (للقائد فقط وعندما لا يوجد مشرف مرتبط).

Response Example

{
    "status": "success",
    "message": "تم حذف المشروع بنجاح."
}

cURL Example

curl -X DELETE https://unigpms.com/api/v1/student/projects/{project}
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
POST

إنشاء مهمة

Auth Required
/student/tasks

إنشاء مهمة جديدة (قائد الفريق).

Request Parameters

project_id integer Required

معرف المشروع

title string Required

عنوان المهمة

description text Optional

وصف المهمة

priority string Optional

low, medium, high, urgent

status string Optional

pending, in_progress, completed, cancelled

due_date date Optional

تاريخ الاستحقاق

assignee_ids array Required

معرفات الطلاب المكلّفين

Response Example

{
    "status": "success",
    "message": "تم إنشاء المهمة بنجاح."
}

cURL Example

curl -X POST https://unigpms.com/api/v1/student/tasks
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"project_id":1,"title":"value","description":"value","priority":"value","status":"value","due_date":"value","assignee_ids":"value"}'
PATCH

تعديل مهمة

Auth Required
/student/tasks/{task}

تعديل بيانات مهمة قائمة.

Request Parameters

title string Optional

عنوان المهمة

description text Optional

الوصف

priority string Optional

low, medium, high, urgent

status string Optional

pending, in_progress, completed, cancelled

due_date date Optional

تاريخ الاستحقاق

assignee_ids array Optional

معرفات الطلاب المكلّفين

Response Example

{
    "status": "success",
    "message": "تم تحديث المهمة بنجاح."
}

cURL Example

curl -X PATCH https://unigpms.com/api/v1/student/tasks/{task}
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"title":"value","description":"value","priority":"value","status":"value","due_date":"value","assignee_ids":"value"}'
DELETE

حذف مهمة

Auth Required
/student/tasks/{task}

حذف المهمة (القائد).

Response Example

{
    "status": "success",
    "message": "تم حذف المهمة بنجاح."
}

cURL Example

curl -X DELETE https://unigpms.com/api/v1/student/tasks/{task}
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
DELETE

حذف ملف مشروع

Auth Required
/student/project-files/{file}

حذف الملف بواسطة رافعه.

Response Example

{
    "status": "success",
    "message": "تم حذف الملف بنجاح."
}

cURL Example

curl -X DELETE https://unigpms.com/api/v1/student/project-files/{file}
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
POST

إلغاء طلب إشراف

Auth Required
/student/supervision-requests/{id}/cancel

إلغاء طلب إشراف معلق (القائد).

Response Example

{
    "status": "success",
    "message": "تم إلغاء طلب الإشراف."
}

cURL Example

curl -X POST https://unigpms.com/api/v1/student/supervision-requests/{id}/cancel
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
GET

المهام

Auth Required
/student/tasks

الحصول على قائمة المهام

Response Example

{
    "status": "success",
    "data": [
        {
            "id": 1,
            "title": "تصميم قاعدة البيانات",
            "status": "in_progress",
            "due_date": "2026-02-15"
        }
    ]
}

cURL Example

curl -X GET https://unigpms.com/api/v1/student/tasks
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
PATCH

تحديث حالة مهمة

Auth Required
/student/tasks/{id}/status

تحديث حالة المهمة

Request Parameters

status string Required

pending, in_progress, completed, blocked

Response Example

{
    "status": "success",
    "message": "تم تحديث حالة المهمة بنجاح."
}

cURL Example

curl -X PATCH https://unigpms.com/api/v1/student/tasks/{id}/status
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"status":"value"}'
POST

رفع ملف

Auth Required
/student/upload-file

رفع ملف للمشروع

Request Parameters

file file Required

الملف (pdf, doc, docx, zip)

type string Required

proposal, report, presentation, code

description string Optional

وصف الملف

Response Example

{
    "status": "success",
    "message": "تم رفع الملف بنجاح."
}

cURL Example

curl -X POST https://unigpms.com/api/v1/student/upload-file
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"file":"file.pdf","type":"value","description":"value"}'
GET

طلبات الإشراف (فريقي)

Auth Required
/student/supervision-requests

قائمة طلبات الإشراف لمشروع الفريق الحالي

Response Example

{
    "status": "success",
    "data": []
}

cURL Example

curl -X GET https://unigpms.com/api/v1/student/supervision-requests
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
POST

طلب إشراف

Auth Required
/student/supervision-requests

إرسال طلب إشراف لمشرف

Request Parameters

supervisor_id integer Required

معرف المشرف

type string Required

primary, co_supervisor

message text Optional

رسالة للمشرف

Response Example

{
    "status": "success",
    "message": "تم إرسال طلب الإشراف بنجاح."
}

cURL Example

curl -X POST https://unigpms.com/api/v1/student/supervision-requests
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"supervisor_id":1,"type":"value","message":"value"}'
GET

المشرفين المتاحين

Auth Required
/student/available-supervisors

الحصول على قائمة المشرفين المتاحين

Response Example

{
    "status": "success",
    "data": [
        {
            "id": 1,
            "name": "د. محمد أحمد",
            "email": "mohamed@example.com",
            "specialization": "ذكاء اصطناعي",
            "available_slots": 3
        }
    ]
}

cURL Example

curl -X GET https://unigpms.com/api/v1/student/available-supervisors
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"

المشرف (Supervisor)

endpoints إدارة المشرف والمشاريع

13 endpoints
GET

ملخص لوحة المشرف

Auth Required
/supervisor/dashboard-summary

إحصاءات سريعة عن المشاريع والمهام والطلبات.

Response Example

{
    "status": "success",
    "data": {
        "active_projects": 4,
        "pending_requests": 2,
        "upcoming_meetings": 3
    }
}

cURL Example

curl -X GET https://unigpms.com/api/v1/supervisor/dashboard-summary
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
GET

مشاريعي

Auth Required
/supervisor/my-projects

الحصول على قائمة المشاريع

Response Example

{
    "status": "success",
    "data": [
        {
            "id": 1,
            "title": "نظام الذكاء الاصطناعي",
            "status": "in_progress",
            "team": "فريق AI"
        }
    ]
}

cURL Example

curl -X GET https://unigpms.com/api/v1/supervisor/my-projects
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
POST

إنشاء مهمة للمشروع

Auth Required
/supervisor/tasks

إنشاء مهمة جديدة داخل مشروع مشرف عليه.

Request Parameters

project_id integer Required

No description provided.

title string Required

No description provided.

description text Optional

No description provided.

priority string Optional

low, medium, high, urgent

status string Optional

pending, in_progress, completed, cancelled

due_date date Optional

No description provided.

assignee_ids array Required

No description provided.

Response Example

{
    "status": "success",
    "message": "تم إنشاء المهمة بنجاح."
}

cURL Example

curl -X POST https://unigpms.com/api/v1/supervisor/tasks
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"project_id":1,"title":"value","description":"value","priority":"value","status":"value","due_date":"value","assignee_ids":"value"}'
PATCH

تعديل مهمة المشروع

Auth Required
/supervisor/tasks/{task}

تعديل مهمة قائمة داخل مشروع المشرف.

Request Parameters

title string Optional

No description provided.

description text Optional

No description provided.

priority string Optional

No description provided.

status string Optional

No description provided.

due_date date Optional

No description provided.

assignee_ids array Optional

No description provided.

Response Example

{
    "status": "success",
    "message": "تم تحديث المهمة بنجاح."
}

cURL Example

curl -X PATCH https://unigpms.com/api/v1/supervisor/tasks/{task}
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"title":"value","description":"value","priority":"value","status":"value","due_date":"value","assignee_ids":"value"}'
DELETE

حذف مهمة المشروع

Auth Required
/supervisor/tasks/{task}

حذف مهمة داخل مشروع المشرف.

Response Example

{
    "status": "success",
    "message": "تم حذف المهمة بنجاح."
}

cURL Example

curl -X DELETE https://unigpms.com/api/v1/supervisor/tasks/{task}
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
PATCH

تحديث حالة مهمة (مشرف)

Auth Required
/supervisor/tasks/{id}/status

تغيير حالة المهمة إلى pending / in_progress / completed / cancelled.

Request Parameters

status string Required

No description provided.

Response Example

{
    "status": "success",
    "message": "تم تحديث حالة المهمة بنجاح."
}

cURL Example

curl -X PATCH https://unigpms.com/api/v1/supervisor/tasks/{id}/status
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"status":"value"}'
GET

الطلبات المعلقة

Auth Required
/supervisor/pending-requests

الحصول على طلبات الإشراف المعلقة

Response Example

{
    "status": "success",
    "data": [
        {
            "id": 1,
            "team_name": "فريق AI",
            "type": "primary",
            "message": "نرجو الموافقة على الإشراف"
        }
    ]
}

cURL Example

curl -X GET https://unigpms.com/api/v1/supervisor/pending-requests
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
GET

مهام المشروع

Auth Required
/supervisor/project/{id}/tasks

الحصول على مهام مشروع معين

Response Example

{
    "status": "success",
    "data": [
        {
            "id": 1,
            "title": "تصميم قاعدة البيانات",
            "status": "completed",
            "assigned_to": "أحمد محمد"
        }
    ]
}

cURL Example

curl -X GET https://unigpms.com/api/v1/supervisor/project/{id}/tasks
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
POST

الرد على طلب

Auth Required
/supervisor/requests/{id}/respond

قبول أو رفض طلب إشراف

Request Parameters

status string Required

accepted, rejected

response_message text Optional

رسالة الرد

Response Example

{
    "status": "success",
    "message": "تم الرد على الطلب بنجاح."
}

cURL Example

curl -X POST https://unigpms.com/api/v1/supervisor/requests/{id}/respond
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"status":"value","response_message":"value"}'
PATCH

تعديل اجتماع

Auth Required
/supervisor/meetings/{meeting}

تعديل اجتماع أنشأه المشرف.

Request Parameters

title string Optional

No description provided.

meeting_date date Optional

No description provided.

start_time time Optional

No description provided.

end_time time Optional

No description provided.

location_type string Optional

physical, online

location_details string Optional

No description provided.

notes text Optional

No description provided.

Response Example

{
    "status": "success",
    "message": "تم تحديث الاجتماع بنجاح."
}

cURL Example

curl -X PATCH https://unigpms.com/api/v1/supervisor/meetings/{meeting}
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"title":"value","meeting_date":"value","start_time":"value","end_time":"value","location_type":"value","location_details":"value","notes":"value"}'
POST

تغيير حالة اجتماع

Auth Required
/supervisor/meetings/{meeting}/status

تحديث حالة الاجتماع (completed/postponed/cancelled).

Request Parameters

status string Required

completed, postponed, cancelled

Response Example

{
    "status": "success",
    "message": "تم تحديث الحالة."
}

cURL Example

curl -X POST https://unigpms.com/api/v1/supervisor/meetings/{meeting}/status
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"status":"value"}'
DELETE

حذف اجتماع

Auth Required
/supervisor/meetings/{meeting}

حذف/إلغاء اجتماع (ينبه الطلاب).

Response Example

{
    "status": "success",
    "message": "تم حذف الاجتماع."
}

cURL Example

curl -X DELETE https://unigpms.com/api/v1/supervisor/meetings/{meeting}
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
POST

جدولة اجتماع

Auth Required
/supervisor/schedule-meeting

إنشاء اجتماع مع الفريق

Request Parameters

project_id integer Required

معرف المشروع

title string Required

عنوان الاجتماع

meeting_date date Required

تاريخ الاجتماع

start_time time Required

وقت البداية

end_time time Required

وقت النهاية

location_type string Required

physical, online

location_details string Optional

رابط أو مكان

Response Example

{
    "status": "success",
    "message": "تم جدولة الاجتماع بنجاح."
}

cURL Example

curl -X POST https://unigpms.com/api/v1/supervisor/schedule-meeting
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"project_id":1,"title":"value","meeting_date":"value","start_time":"value","end_time":"value","location_type":"value","location_details":"value"}'

مشترك (طالب أو مشرف)

يتطلب دور student أو supervisor

12 endpoints
GET

الملف الشخصي

Auth Required
/profile

بيانات المستخدم الشخصية (الاسم، البريد، الهاتف، الصورة).

Response Example

{
    "status": "success",
    "data": []
}

cURL Example

curl -X GET https://unigpms.com/api/v1/profile
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
PATCH

تعديل الملف الشخصي

Auth Required
/profile

تعديل الاسم أو البريد أو الهاتف أو الصورة.

Request Parameters

name string Optional

No description provided.

email email Optional

No description provided.

phone string Optional

No description provided.

avatar file Optional

صورة (jpg/png) حتى 2 ميغابايت

Response Example

{
    "status": "success",
    "message": "تم تحديث الملف الشخصي."
}

cURL Example

curl -X PATCH https://unigpms.com/api/v1/profile
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"name":"value","email":"value","phone":"value","avatar":"file.pdf"}'
POST

تغيير كلمة المرور

Auth Required
/password

تغيير كلمة المرور.

Request Parameters

current_password string Required

No description provided.

new_password string Required

8+ حروف ومؤكدة

new_password_confirmation string Required

No description provided.

Response Example

{
    "status": "success",
    "message": "تم تغيير كلمة المرور."
}

cURL Example

curl -X POST https://unigpms.com/api/v1/password
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
  -d '{"current_password":"value","new_password":"value","new_password_confirmation":"value"}'
GET

الإشعارات

Auth Required
/notifications

قائمة الإشعارات مع pagination و filter.

Request Parameters

page integer Optional

No description provided.

per_page integer Optional

5-50

filter string Optional

all, read, unread

Response Example

{
    "status": "success",
    "data": [],
    "unread_count": 0,
    "meta": []
}

cURL Example

curl -X GET https://unigpms.com/api/v1/notifications
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
GET

عدد غير المقروءة

Auth Required
/notifications/unread-count

إرجاع عدد الإشعارات غير المقروءة فقط.

Response Example

{
    "status": "success",
    "unread_count": 0
}

cURL Example

curl -X GET https://unigpms.com/api/v1/notifications/unread-count
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
POST

تعليم إشعار كمقروء

Auth Required
/notifications/{id}/read

Response Example

{
    "status": "success"
}

cURL Example

curl -X POST https://unigpms.com/api/v1/notifications/{id}/read
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
POST

تعليم الكل كمقروء

Auth Required
/notifications/read-all

Response Example

{
    "status": "success"
}

cURL Example

curl -X POST https://unigpms.com/api/v1/notifications/read-all
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
DELETE

حذف إشعار

Auth Required
/notifications/{id}

Response Example

{
    "status": "success"
}

cURL Example

curl -X DELETE https://unigpms.com/api/v1/notifications/{id}
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
DELETE

حذف كل الإشعارات

Auth Required
/notifications

Response Example

{
    "status": "success"
}

cURL Example

curl -X DELETE https://unigpms.com/api/v1/notifications
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
GET

مكتبة المشاريع

Auth Required
/library/projects

مشاريع لديها ملفات مقبولة ومعروضة في المكتبة (مع pagination).

Request Parameters

q string Optional

بحث في العنوان أو الملخص

page integer Optional

No description provided.

per_page integer Optional

5-50

Response Example

{
    "status": "success",
    "data": [],
    "meta": []
}

cURL Example

curl -X GET https://unigpms.com/api/v1/library/projects
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
GET

تنزيل ملف مشروع

Auth Required
/project-files/{file}/download

تنزيل ملف بحماية الصلاحيات (أعضاء المشروع/المشرفون/مكتبة).

Response Example

{
    "status": "success"
}

cURL Example

curl -X GET https://unigpms.com/api/v1/project-files/{file}/download
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"
GET

الاجتماعات القادمة

Auth Required
/meetings/upcoming

للطالب: اجتماعات مشاريع فرقه. للمشرف: اجتماعاته.

Response Example

{
    "status": "success",
    "data": []
}

cURL Example

curl -X GET https://unigpms.com/api/v1/meetings/upcoming
  -H "Content-Type: application/json"
  -H "Authorization: Bearer YOUR_TOKEN"