دليل كامل لنظام Carbon ERP/MES: نظام إدارة التصنيع مفتوح المصدر
⏱️ وقت القراءة المقدر: 15 دقيقة
مقدمة
Carbon هو نظام ثوري مفتوح المصدر لـ ERP (تخطيط موارد المؤسسة) و MES (نظام تنفيذ التصنيع) و QMS (نظام إدارة الجودة) مصمم خصيصاً لبيئات التصنيع الحديثة. مبني بـ TypeScript ومدعوم بـ Supabase، يتفوق Carbon في عمليات التجميع المعقدة وتصنيع الخليط العالي ذو الحجم المنخفض (HMLV) وسيناريوهات التصنيع حسب الطلب.
ما هو Carbon ERP/MES؟
يمثل Carbon الجيل القادم من أنظمة إدارة التصنيع، ويقدم:
- حزمة تصنيع كاملة: يجمع ERP و MES و QMS في منصة واحدة
- مميزات المصدر المفتوح: شفافية كاملة وإمكانيات التخصيص
- هندسة معمارية حديثة: مبني بـ TypeScript و React و Supabase
- تصميم قابل للتوسع: مثالي للشركات الصناعية النامية
- تركيز صناعي: محسن للتجميع المعقد وعمليات التصنيع حسب الطلب
الميزات الرئيسية
- تخطيط موارد المؤسسة (ERP)
- إدارة المخزون
- معالجة الطلبات
- تتبع مالي
- إدارة علاقات العملاء
- نظام تنفيذ التصنيع (MES)
- جدولة الإنتاج
- إدارة أوامر العمل
- مراقبة أرضية المصنع في الوقت الفعلي
- تكامل مراقبة الجودة
- نظام إدارة الجودة (QMS)
- سير عمل مراقبة الجودة
- تتبع الامتثال
- إدارة المستندات
- مسارات التدقيق
المتطلبات المسبقة
قبل البدء مع Carbon، تأكد من توفر ما يلي:
- Node.js v20 (باستخدام nvm)
- Docker مثبت وقيد التشغيل
- Git لإدارة المستودع
- معرفة أساسية بـ TypeScript/JavaScript
- فهم عمليات التصنيع
الخدمات الخارجية المطلوبة
يتكامل Carbon مع عدة خدمات سحابية للحصول على الأداء الأمثل:
الخدمة | الغرض | خطة مجانية متاحة |
---|---|---|
Upstash | Redis بدون خادم | ✅ نعم |
Trigger.dev | منفذ المهام | ✅ نعم |
PostHog | التحليلات | ✅ نعم |
التثبيت والإعداد
الخطوة 1: إعداد المستودع
استنسخ مستودع Carbon وانتقل إلى دليل المشروع:
# استنساخ المستودع
git clone https://github.com/crbnos/carbon.git
cd carbon
# استخدام Node.js v20
nvm use
# تثبيت التبعيات
npm install
الخطوة 2: تهيئة قاعدة البيانات
ابدأ حاويات Docker لخدمات قاعدة البيانات:
# سحب وتشغيل حاويات قاعدة البيانات
npm run db:start
هذا الأمر سيبدأ:
- قاعدة بيانات PostgreSQL
- مثيل Supabase المحلي
- تخزين Redis المؤقت
- Mailpit لاختبار البريد الإلكتروني
الخطوة 3: تكوين البيئة
إنشاء ملف تكوين البيئة:
# نسخ قالب البيئة
cp ./.env.example ./.env
قم بتكوين متغيرات البيئة التالية في ملف .env
:
تكوين قاعدة البيانات
# تكوين Supabase (من مخرجات db:start)
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
SUPABASE_ANON_KEY=your_anon_key
SUPABASE_URL=http://localhost:54321
تكوين Redis
إنشاء قاعدة بيانات Redis في Upstash وإضافة:
UPSTASH_REDIS_REST_URL=your_upstash_url
UPSTASH_REDIS_REST_TOKEN=your_upstash_token
تكوين منفذ المهام
إعداد Trigger.dev للمهام الخلفية:
TRIGGER_PUBLIC_API_KEY=pk_dev_your_public_key
TRIGGER_API_KEY=tr_dev_your_server_key
TRIGGER_PROJECT_ID=proj_your_project_id
تكوين التحليلات
تكوين PostHog لتحليلات المنتج:
POSTHOG_API_HOST=https://[region].posthog.com
POSTHOG_PROJECT_PUBLIC_KEY=phc_your_project_key
معالجة الدفع
إضافة تكوين Stripe لمعالجة الدفع:
STRIPE_SECRET_KEY=sk_test_your_stripe_key
تسجيل webhooks Stripe:
npm run -w @carbon/stripe register:stripe
إعداد المصادقة
اختر إحدى طرق المصادقة التالية:
الخيار 1: مصادقة البريد الإلكتروني (Resend)
RESEND_API_KEY=re_your_resend_key
RESEND_DOMAIN=carbon.ms
الخيار 2: Google OAuth
SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_ID=your_client_id.apps.googleusercontent.com
SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_SECRET=GOCSPX-your_client_secret
SUPABASE_AUTH_EXTERNAL_GOOGLE_REDIRECT_URI=http://127.0.0.1:54321/auth/v1/callback
الخطوة 4: إعداد قاعدة البيانات والبناء
تهيئة قاعدة البيانات وبناء التطبيق:
# تشغيل ترحيل قاعدة البيانات وبيانات البذر
npm run db:build
# بناء جميع الحزم
npm run build
الخطوة 5: بدء بيئة التطوير
تشغيل جميع تطبيقات Carbon:
# بدء جميع التطبيقات
npm run dev
# أو بدء تطبيقات محددة
npm run dev:mes # نظام تنفيذ التصنيع فقط
نظرة عامة على التطبيقات
بعد التثبيت الناجح، ستحصل على الوصول إلى عدة تطبيقات:
التطبيق | الرابط | الغرض |
---|---|---|
ERP | http://localhost:3000 | تخطيط موارد المؤسسة |
MES | http://localhost:3001 | نظام تنفيذ التصنيع |
الأكاديمية | http://localhost:4111 | التدريب والتوثيق |
البداية | http://localhost:4000 | دليل البداية |
أدوات التطوير
الأداة | الرابط | الغرض |
---|---|---|
Postgres | postgresql://postgres:postgres@localhost:54322/postgres | الوصول لقاعدة البيانات |
Supabase Studio | http://localhost:54323/project/default | إدارة قاعدة البيانات |
Mailpit | http://localhost:54324 | اختبار البريد الإلكتروني |
Edge Functions | http://localhost:54321/functions/v1/ | الوظائف بدون خادم |
استخدام Carbon ERP/MES
1. الإعداد الأولي والتكوين
- الوصول لتطبيق ERP: انتقل إلى http://localhost:3000
- إكمال الإعداد الأولي: اتبع معالج الإعداد لتكوين منظمتك
- إدارة المستخدمين: إنشاء حسابات المستخدمين وتعيين الأدوار
- التكوين الأساسي: إعداد المواقع والأقسام والإعدادات الأساسية
2. إدارة المخزون
تكوين نظام المخزون:
- رئيسي العناصر: تعريف المنتجات والمواد الخام والمكونات
- المواقع: إعداد المستودعات ومواقع التخزين
- مستويات المخزون: تكوين مستويات المخزون الدنيا والعليا
- الموردون: إدارة معلومات البائعين والتسعير
3. إعداد التصنيع
تكوين عمليات التصنيع:
- قائمة المواد (BOM): تعريف هياكل المنتج
- التوجيه: إعداد عمليات التصنيع
- مراكز العمل: تكوين موارد الإنتاج
- معايير الجودة: تعريف معاملات مراقبة الجودة
4. تخطيط الإنتاج
تنفيذ سير عمل الإنتاج:
- أوامر الإنتاج: إنشاء وإدارة أوامر العمل
- الجدولة: تخطيط أنشطة الإنتاج
- تخصيص الموارد: تعيين العمال والمعدات
- تتبع التقدم: مراقبة حالة الإنتاج
تكامل API
يوفر Carbon وصولاً شاملاً لـ API للتكامل مع الأنظمة الخارجية.
مصادقة API
إنشاء مفتاح API من إعدادات ERP والتكوين:
import { Database } from "@carbon/database";
import { createClient } from "@supabase/supabase-js";
const apiKey = process.env.CARBON_API_KEY;
const apiUrl = process.env.CARBON_API_URL;
const publicKey = process.env.CARBON_PUBLIC_KEY;
const carbon = createClient<Database>(apiUrl, publicKey, {
global: {
headers: {
"carbon-key": apiKey,
},
},
});
// جلب عناصر المخزون
const { data, error } = await carbon.from("item").select("*");
استخدام API الداخلي
لتطوير monorepo:
import { getCarbonServiceRole } from "@carbon/auth";
const carbon = getCarbonServiceRole();
// الوصول للبيانات الخاصة بالشركة
const companyId = "your-company-id";
const { data, error } = await carbon
.from("item")
.select("*")
.eq("companyId", companyId);
تحليل عميق للمعمارية
تتكون معمارية Carbon من عدة حزم رئيسية:
الحزم الأساسية
- @carbon/database: المخطط والترحيل وتعريفات النوع
- @carbon/documents: إنشاء PDF وقوالب البريد الإلكتروني
- @carbon/jobs: معالجة المهام الخلفية
- @carbon/react: مكونات UI المشتركة
- @carbon/utils: وظائف المرافق المشتركة
حزم التكامل
- @carbon/ee: تكاملات المؤسسة
- @carbon/stripe: معالجة الدفع
- @carbon/lib: عملاء خدمات الطرف الثالث
- @carbon/kv: طبقة التخزين المؤقت Redis
استكشاف الأخطاء وإصلاحها
المشاكل الشائعة والحلول
مشاكل اتصال قاعدة البيانات
# إعادة تعيين حاويات قاعدة البيانات
npm run db:kill
npm run db:build
تعارض المنافذ
- تحقق من توفر المنافذ 3000، 3001، 54321-54324
- أوقف الخدمات المتعارضة أو عدل تكوينات المنفذ
مشاكل المصادقة
- تحقق من جميع متغيرات بيئة المصادقة
- فحص تكوين Supabase
- تأكد من مطابقة URLs الإعادة التوجيه للإعداد
فشل البناء
# تنظيف وإعادة البناء
npm run clean
npm install
npm run build
أفضل الممارسات
سير عمل التطوير
- إدارة البيئة: استخدم تكوينات منفصلة للتطوير والاختبار والإنتاج
- نسخ احتياطي للبيانات: نسخ احتياطي منتظم لقاعدة البيانات أثناء التطوير
- التحكم في الإصدار: استخدم سير عمل Git المناسب للتعاون
- الاختبار: تنفيذ اختبار شامل للتعديلات المخصصة
نشر الإنتاج
- تكوين الأمان: تحديث كلمات المرور الافتراضية ومفاتيح API
- SSL/TLS: تنفيذ HTTPS لبيئات الإنتاج
- تحسين قاعدة البيانات: تكوين إعدادات قاعدة البيانات المناسبة
- المراقبة: إعداد أنظمة المراقبة والتنبيه
تحسين الأداء
- فهرسة قاعدة البيانات: تحسين استعلامات قاعدة البيانات بالفهرسة المناسبة
- استراتيجية التخزين المؤقت: تنفيذ تخزين مؤقت فعال مع Redis
- تحسين الأصول: تصغير وضغط أصول الواجهة الأمامية
- المهام الخلفية: استخدام المعالجة الخلفية للعمليات الثقيلة
التكوين المتقدم
التكاملات المخصصة
المعمارية المعيارية لـ Carbon تسمح بالتكامل السهل مع الأنظمة الخارجية:
- أنظمة ERP: الاتصال بمنصات ERP الموجودة
- أجهزة إنترنت الأشياء: تكامل أجهزة استشعار ومعدات أرضية المصنع
- أنظمة الجودة: ربط معدات الفحص والاختبار
- أدوات التقارير: التكامل مع منصات ذكاء الأعمال
اعتبارات التوسع
للنشر واسع النطاق:
- تجميع قاعدة البيانات: تنفيذ تجميع PostgreSQL
- توزيع الحمولة: استخدام البروكسيات العكسية لتوزيع الحركة
- الخدمات الصغيرة: النظر في التقسيم لخدمات أصغر
- النشر السحابي: الاستفادة من ميزات التوسع السحابية الأصلية
الخلاصة
يمثل Carbon ERP/MES حلاً قوياً لبيئات التصنيع الحديثة. طبيعته مفتوحة المصدر، مجتمعة مع مجموعة التقنيات الحديثة ومجموعة الميزات الشاملة، تجعله خياراً ممتازاً للمنظمات التي تتطلع إلى تنفيذ أو ترقية أنظمة إدارة التصنيع.
مرونة النظام تسمح بالتخصيص لتلبية متطلبات الصناعة المحددة، بينما نهج API الأول يضمن التكامل السلس مع أنظمة الأعمال الموجودة. سواء كنت تدير عمليات التجميع المعقدة، أو تنفذ عمليات تصنيع HMLV، أو تتعامل مع سيناريوهات التصنيع حسب الطلب، فإن Carbon يوفر الأدوات والقدرات اللازمة للنجاح.
الخطوات التالية
- استكشف التطبيقات: تعرف على كل تطبيق Carbon
- كوّن بيئتك: خصص الإعدادات لحالة الاستخدام المحددة
- استورد بياناتك: هاجر البيانات الموجودة إلى Carbon
- درب فريقك: استخدم تطبيق الأكاديمية لتدريب المستخدمين
- خصص ووسع: عدل Carbon لتلبية متطلباتك الفريدة
للموارد الإضافية ودعم المجتمع، قم بزيارة مستودع Carbon GitHub واستكشف الوثائق الشاملة المتوفرة في تطبيق الأكاديمية.
مستعد لثورة عمليات التصنيع مع Carbon؟ ابدأ رحلتك اليوم واختبر قوة إدارة التصنيع مفتوحة المصدر.