الوضع المحلي
التطبيق نفسه على قاعدة بيانات Supabase محلية، مع أمان على مستوى الصفوف ومستخدمين مُعدّين مسبقًا.
يشغّل الوضع المحلي Portline على Postgres و Supabase Auth حقيقيين على جهازك. كل قاعدة صلاحيات تفرضها قاعدة البيانات، وليس التطبيق وحده. يجب أن يكون Docker قيد التشغيل.
تشغيل Supabase
pnpm db:startيشغّل هذا المكدّس المحلي على هذه المنافذ:
| الخدمة | المنفذ |
|---|---|
| واجهة API (PostgREST، Auth) | 4161 |
| Postgres | 4162 |
| Studio | 4163 |
Studio متاح على http://localhost:4163 إذا أردت الاطلاع على الجداول.
إنشاء المخطط وتعبئته بالبيانات
pnpm db:reset
pnpm db:seeddb:reset يطبّق عمليات الترحيل من الصفر. وdb:seed يملأ قاعدة البيانات من المولّد نفسه الذي يستخدمه العرض التوضيحي، لذا تتطابق المعرّفات والأسماء والأرقام مع ما تراه في وضع العرض التوضيحي.
المستخدمون المُعدّون مسبقًا
كلمة المرور لكل مستخدم هي portline-local.
| البريد الإلكتروني | مساحة العمل | الدور |
|---|---|---|
avery@harborline.example | Harborline Logistics (Growth) | مالك |
priya@harborline.example | Harborline Logistics | مسؤول |
diego@harborline.example | Harborline Logistics | منسّق نقل |
mei@harborline.example | Harborline Logistics | منسّق نقل |
sam@harborline.example | Harborline Logistics | مُشاهد |
elif@harborline.example | Harborline Logistics | مُشاهد |
owner@starterfreight.example | Starter Freight (Starter) | مالك |
سجّل الدخول باسم Sam لترى ما يحصل عليه المُشاهد: كل ما تتضمنه الخطة قابل للقراءة، وعمليات الكتابة يرفضها التطبيق وقاعدة البيانات، حتى لو استدعيت قاعدة البيانات مباشرة. وسجّل الدخول إلى مساحة عمل Starter لترى أقسام الأسطول والمستودعات والأرصفة مقفلة.
تغيير الخطة
لا أحد يستطيع تغيير خطة مساحة العمل من التطبيق، بمن في ذلك المالكون. دور الخدمة وحده يستطيع ذلك. ويستخدمه السكربت:
pnpm plan:set harborline scale activeالوسائط هي المعرّف النصي (slug) لمساحة العمل، والخطة (starter، growth، scale)، وحالة الاشتراك (active، trialing، grace، lapsed). جرّب lapsed لترى مساحة العمل تصبح للقراءة فقط. تشرح صفحة الخطط والوصول ما تفعله كل حالة.
الإيقاف
pnpm db:stop