كلام ذا مهم لو أنت شغال على أنظمة فنتك. لا تفترض إن كل العملاء بيتعاملوا بنفس العملة.
حتى لو التطبيق موجه بالكامل للسعودية وتتعامل فقط بالريال. فكر كيف بيتفاعل نظامك مستقبلاً لو جاء عميل حول بالدولار أو تستثمر في صندوق صيني.
إذا كان الـ ledger عندك يسجل بس amount بدون أي معلومة عن العملة فأنت فتحت على نفسك باب مشاكل كبير.
النموذج المقترح
- sourceAmount + sourceCurrency: المبلغ والعملة الأصلية من العميل.
- convertedAmount + convertedCurrency: المبلغ بعد التحويل.
- baseAmount + baseCurrency: القيمة بالعملة المعتمدة للنظام (مثلاً الريال).
النموذج ذا يعطيني تتبع دقيق (Traceability)، مرونة مع عمليات تحويل متعددة، وجاهزية للتوسع.
صحيح أن هذا يسبب تكرار بيانات و Queries أبطأ، لكني دائماً أقف بصف الاستدامة في البزنس على حساب التكلفة التقنية.
#Fintech#LedgerDesign#Backend
F
