Add a comprehensive note-taking system similar to Google Keep
Adds three new tables (notes, note_items, note_shares) for storing note data, checklist items, and sharing permissions. Includes API endpoints and UI considerations for creating, editing, viewing, and managing notes, with features like pinning, color-coding, archiving, and user sharing. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 77cfe984-2c65-4152-bb7a-0df28274fe66 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: f9708c33-0313-4d52-9aaf-39f564d4af34 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/c3c252e4-c83d-40ca-9fff-99a3ea60701e/77cfe984-2c65-4152-bb7a-0df28274fe66/pCDTgLS Replit-Helium-Checkpoint-Created: true
This commit is contained in:
@@ -0,0 +1,229 @@
|
||||
الموضوع: إنشاء نظام "Note" داخل منصة TeaBoy
|
||||
|
||||
أريد إضافة ميزة داخل النظام باسم "Note"، تكون نظام ملاحظات بسيط واحترافي يشبه Google Keep، مع دعم:
|
||||
|
||||
- الملاحظات النصية (Note)
|
||||
- القوائم (List / Checklist)
|
||||
- الألوان
|
||||
- التثبيت (Pin)
|
||||
- المشاركة مع الأعضاء
|
||||
- الصلاحيات
|
||||
|
||||
--------------------------------------------------
|
||||
1) الكيان الرئيسي
|
||||
--------------------------------------------------
|
||||
|
||||
إنشاء جدول:
|
||||
notes
|
||||
|
||||
الحقول:
|
||||
- id
|
||||
- title
|
||||
- content (للنص)
|
||||
- type (note | list)
|
||||
- color (hex)
|
||||
- isPinned (boolean)
|
||||
- isArchived (boolean)
|
||||
- isDeleted (soft delete)
|
||||
- ownerUserId
|
||||
- createdAt
|
||||
- updatedAt
|
||||
|
||||
--------------------------------------------------
|
||||
2) عناصر القائمة (Checklist)
|
||||
--------------------------------------------------
|
||||
|
||||
جدول:
|
||||
note_items
|
||||
|
||||
الحقول:
|
||||
- id
|
||||
- noteId
|
||||
- text
|
||||
- isCompleted (boolean)
|
||||
- sortOrder
|
||||
- createdAt
|
||||
- updatedAt
|
||||
|
||||
--------------------------------------------------
|
||||
3) المشاركة (Sharing)
|
||||
--------------------------------------------------
|
||||
|
||||
جدول:
|
||||
note_shares
|
||||
|
||||
الحقول:
|
||||
- id
|
||||
- noteId
|
||||
- userId
|
||||
- permission (view | edit)
|
||||
- createdAt
|
||||
|
||||
المنطق:
|
||||
- صاحب الملاحظة هو المالك
|
||||
- يمكنه مشاركة الملاحظة مع مستخدمين
|
||||
- view = مشاهدة فقط
|
||||
- edit = تعديل كامل
|
||||
|
||||
--------------------------------------------------
|
||||
4) الواجهة (UI)
|
||||
--------------------------------------------------
|
||||
|
||||
إنشاء صفحة:
|
||||
Note
|
||||
|
||||
التصميم:
|
||||
- Grid مثل Google Keep
|
||||
- بطاقات (Cards) لكل ملاحظة
|
||||
- خلفية فاتحة وألوان هادئة
|
||||
- Responsive (جوال / آيباد / كمبيوتر)
|
||||
|
||||
كل بطاقة تعرض:
|
||||
- العنوان
|
||||
- محتوى مختصر أو checklist
|
||||
- اللون
|
||||
- نوعها (Note / List)
|
||||
- أيقونة إذا كانت مشتركة
|
||||
- حالة التثبيت
|
||||
|
||||
--------------------------------------------------
|
||||
5) الوظائف الأساسية
|
||||
--------------------------------------------------
|
||||
|
||||
- إنشاء Note
|
||||
- إنشاء List
|
||||
- تعديل
|
||||
- حذف (Soft delete)
|
||||
- أرشفة
|
||||
- تثبيت / إلغاء التثبيت
|
||||
- تغيير اللون
|
||||
- مشاركة مع مستخدمين
|
||||
- إلغاء المشاركة
|
||||
|
||||
--------------------------------------------------
|
||||
6) نافذة الإنشاء
|
||||
--------------------------------------------------
|
||||
|
||||
Modal أو صفحة تحتوي على:
|
||||
|
||||
- title
|
||||
- type (note / list)
|
||||
- content (إذا Note)
|
||||
- checklist (إذا List)
|
||||
- color picker
|
||||
- pin toggle
|
||||
- share users + permission
|
||||
|
||||
--------------------------------------------------
|
||||
7) الفلاتر والتنظيم
|
||||
--------------------------------------------------
|
||||
|
||||
إضافة Tabs:
|
||||
|
||||
- All
|
||||
- My Notes
|
||||
- Shared With Me
|
||||
- Pinned
|
||||
- Archived
|
||||
|
||||
إضافة:
|
||||
- بحث
|
||||
- فلترة حسب اللون
|
||||
- ترتيب (الأحدث / الأقدم / المثبتة)
|
||||
|
||||
--------------------------------------------------
|
||||
8) الصلاحيات
|
||||
--------------------------------------------------
|
||||
|
||||
Super Admin:
|
||||
- يرى كل الملاحظات
|
||||
|
||||
Admin:
|
||||
- يرى ملاحظاته + المشاركات
|
||||
|
||||
User:
|
||||
- يرى:
|
||||
- ملاحظاته
|
||||
- الملاحظات المشتركة معه
|
||||
|
||||
مهم:
|
||||
- التحقق من الصلاحيات في backend
|
||||
|
||||
--------------------------------------------------
|
||||
9) API
|
||||
--------------------------------------------------
|
||||
|
||||
GET /api/notes
|
||||
GET /api/notes/:id
|
||||
POST /api/notes
|
||||
PATCH /api/notes/:id
|
||||
DELETE /api/notes/:id
|
||||
|
||||
POST /api/notes/:id/pin
|
||||
POST /api/notes/:id/archive
|
||||
POST /api/notes/:id/share
|
||||
DELETE /api/notes/:id/share/:userId
|
||||
|
||||
Checklist:
|
||||
POST /api/notes/:id/items
|
||||
PATCH /api/notes/:id/items/:itemId
|
||||
DELETE /api/notes/:id/items/:itemId
|
||||
|
||||
--------------------------------------------------
|
||||
10) الألوان
|
||||
--------------------------------------------------
|
||||
|
||||
ألوان افتراضية:
|
||||
- أصفر
|
||||
- أخضر
|
||||
- أزرق
|
||||
- أحمر
|
||||
- بنفسجي
|
||||
- رمادي
|
||||
|
||||
+ Color Picker
|
||||
|
||||
يجب أن تكون:
|
||||
- هادئة
|
||||
- مناسبة للـ Light UI
|
||||
- النص واضح فوقها
|
||||
|
||||
--------------------------------------------------
|
||||
11) تحسينات UX
|
||||
--------------------------------------------------
|
||||
|
||||
- Auto-save
|
||||
- Toast notifications
|
||||
- Skeleton loading
|
||||
- Confirm delete
|
||||
- Empty states
|
||||
- عرض صورة المستخدمين المشاركين
|
||||
- Badge:
|
||||
- Note / List
|
||||
- Shared / Private
|
||||
|
||||
--------------------------------------------------
|
||||
12) الترجمة
|
||||
--------------------------------------------------
|
||||
|
||||
دعم:
|
||||
- العربية (RTL)
|
||||
- الإنجليزية (LTR)
|
||||
|
||||
باستخدام i18n
|
||||
|
||||
--------------------------------------------------
|
||||
13) التنفيذ
|
||||
--------------------------------------------------
|
||||
|
||||
أريد:
|
||||
- Database schema
|
||||
- Backend كامل
|
||||
- Frontend pages
|
||||
- Clean code
|
||||
- Responsive
|
||||
- Production-ready
|
||||
|
||||
--------------------------------------------------
|
||||
ملاحظة:
|
||||
الميزة يجب أن تكون حقيقية (Functional) وليست مجرد واجهة شكلية.
|
||||
Reference in New Issue
Block a user