Demo

အယူအဆ

App တစ်ခုကို အစကနေ ပြန်ပြန် ဖန်တီးရတာ အချိန်ကြာပြီး လူပြင်ပန်းပါတယ် — login၊ role၊ permission၊ menu၊ database ချိတ်ဆက်မှုတွေကို စီမံကိန်းတိုင်းမှာ ထပ်ရေးနေရင် တကယ့်လုပ်ငန်း feature တွေကို ရောက်ဖို့ နှေးသွားပါတယ်။ Quark ERP ရဲ့ concept ကို Odoo ERP ကနေ ဆင်းသက်လာတာပါ — ပေါ့ပါးတဲ့ core နဲ့ တိုးချဲ့နိုင်တဲ့ module/plugin ပုံစံ။ Quark ERP မှာ သင်က business logic ကိုပဲ အာရုံစိုက်ရေးရပါမယ်။ Core က အခြေခံတွေကို ကိုင်ပြီး၊ runtime မှာ သင့် plugin code တွေကို တင်သွင်းပေးပါတယ် — စာရင်းကိုင်၊ ကုန်ပစ္စည်းလက်ကျန်၊ POS စတဲ့ လုပ်ငန်း plugin တွေက compile လုပ်ချိန်မှာ မဟုတ်ဘဲ၊ စနစ် စတင်တဲ့အခါမှ အသက်ဝင်လာပါတယ်။

အမည်ပေးခြင်း

အခြားအပိုင်းများ မဖတ်မီ ဤအချက်ကို ဦးစွာ ဖတ်ပါ။ ဤ framework ကို အစတွင် The Paradance တွင် ကိုယ်ပိုင် အတွင်းသုံးအတွက်သာ သုံးရန် ရည်ရွယ်ခဲ့ပြီး၊ အမည်မှာ quan-erp ဖြစ်ပါသည်။ နောက်ပိုင်းမှာတော့ open source အဖြစ် ထုတ်ပြန်ကာ ထုတ်ကုန်အမည်ကို Quark ERP သို့ ပြောင်းလဲခဲ့ပါသည်။ Doc နှင့် UI တွင် ယခု Quark ERP ဟု မြင်ရပါမည် — သို့သော် သင့် codebase တွင် package များကို @quan-erp/* အဖြစ်သာ သွင်းအသုံးပြုရပါမည်။ ဤ npm scope ကို ရှိပြီးသား import များ ဆက်အလုပ်လုပ်စေရန် တမင် ထားရှိခြင်းဖြစ်ပါသည်။

  • ထုတ်ကုန်၊ Doc၊ UI အကြောင်း ပြောသည့်အခါ Quark ERP ဟု သုံးပါ
  • သင့် codebase တွင် package များကို အမြဲ @quan-erp/* အဖြစ် သုံးပါ (ဥပမာ @quan-erp/shared-ui)
  • @quark-erp ကို မရှာပါနှင့် — ထို scope မရှိပါ

Core တွင် ပါရှိပြီးသော စွမ်းရည်များ

အခြေခံ runtime တွင် ERP စီမံကိန်းအများစု အရင်ဆုံး ပြန်လည်တည်ဆောက်လေ့ရှိသော platform အလွှာ ပါရှိပြီးသားဖြစ်ပါသည်။ Plugin တိုင်းတွင် ပြန်မရေးဘဲ ထိုစွမ်းရည်များကို တိုက်ရိုက် အသုံးပြုပါ။

  • အတည်ပြုခြင်းနှင့် လုံခြုံရေး — အကောင့်ဝင်ခြင်း၊ session၊ အခန်းကဏ္ဍ၊ ခွင့်ပြုချက်နှင့် API ကာကွယ်ရေး
  • Builtin အချက်အလက် — အသုံးပြုသူ၊ မိတ်ဖက်၊ ဌာနခွဲ၊ ဆက်တင်၊ ဖိုင်၊ ငွေကြေးနှင့် ဆက်စပ် ဝန်ဆောင်မှုများ
  • Backend runtime — DI၊ router၊ module lifecycle၊ cron/queue နှင့် plugin ပတ်ဝန်းကျင်
  • Frontend shell — မီနူး၊ လမ်းကြောင်း၊ ဘာသာစကား၊ spotlight၊ dashboard၊ ပင်မ shortcut နှင့် အများသုံး လမ်းကြောင်း
  • Plugin များသည် ဤ core ပေါ်တွင် လုပ်ငန်းဆိုင်ရာ စွမ်းရည် ထပ်မံ ထည့်သွင်းရပါသည် — core ကို အစားထိုးခြင်း မပြုရပါ

Plugin ဆိုသည်မှာ အဘယ်နည်း

Plugin ဆိုသည်မှာ backend API၊ ဒေတာဘေ့စ် ဇယားနှင့် React မျက်နှာပြင်များ ပါဝင်သော ကိုယ်ပိုင် package တစ်ခု ဖြစ်ပါသည်။ အခြေခံအက်ပ်မှာ ပေါ့ပါးစွာ ထားရှိပြီး၊ plugin များကို လိုအပ်သလို တက်ကြွစွာ တင်သွင်းအသုံးပြုပါသည်။

  • ရင်းမြစ်ကုဒ်သည် plugins/<name>/ အောက်တွင် ရှိပြီး backend/၊ frontend/ နှင့် module.metadata.json ပါဝင်ပါသည်
  • Core သည် metadata နှင့် module ဇယားမှတဆင့် plugin များကို ရှာဖွေတွေ့ရှိပါသည်
  • အခြား plugin တစ်ခု၏ src/ ကို တိုက်ရိုက် import မလုပ်ရပါ — shared library နှင့် ကြေညာထားသော dependency များကိုသာ အသုံးပြုရပါသည်

အလုပ်လုပ်ပုံ

အခြေခံအက်ပ်သည် metadata မှ plugin များကို ရှာဖွေပြီး၊ မှီခိုမှုအစဉ်အတိုင်း တင်သွင်းကာ၊ plugin တစ်ခုချင်းစီက backend ဝန်ဆောင်မှုနှင့် frontend မျက်နှာပြင်များကို မှတ်ပုံတင်ပါသည်။

Plugin ၏ အဆင့်ဆင့် လည်ပတ်မှု

Disk ပေါ်မှ စတင်၍ ERP မျက်နှာပြင်တွင် အသက်ဝင်လာသည်အထိ အဆင့်များမှာ —

မျှဝေအသုံးပြုသည့် စာကြည့်တိုက်များ

Plugin များသည် ကိုယ်တိုင် ကြီးမားမနေဘဲ၊ platform package များကို ပြန်လည် အသုံးပြုသင့်ပါသည်။

  • @quan-erp/shared-backend-core — decorator၊ DTO၊ service များ
  • @quan-erp/shared-frontend-core — hook၊ API အကူအညီနှင့် sensor များ
  • @quan-erp/shared-ui — ဒီဇိုင်းစနစ် ဆိုင်ရာ အစိတ်အပိုင်းများ
  • @quan-erp/shared-types — မျှဝေအသုံးပြုသည့် TypeScript သဘောတူညီချက်များ

ဗားရှင်း သတ်မှတ်စည်းမျဉ်း

Plugin အတွင်းရှိ @quan-erp/* package အားလုံးနှင့် docker-compose.yaml ရှိ base image များသည် တူညီသော ဗားရှင်း (ဥပမာ ^1.0.0) ကို အသုံးပြုရပါမည်။ မတူညီပါက မှီခိုမှု ပဋိပက္ခ ဖြစ်နိုင်ပါသည်။