মূল টেবিল কাঠামো + আলাদা উদাহরণ টেবিল (প্রতি মডিউলে নিচে Analogy Data)
লগইন, টোকেন, অ্যাডমিন ও স্টাফ ইউজার ম্যানেজমেন্ট
| টেবিল নাম | ধরণ | উদ্দেশ্য | লিস্ট পেজ কলাম | অ্যাকশন |
|---|---|---|---|---|
| users | Independent | admin, manager, staff | SL, নাম, ইমেইল, ভূমিকা, স্ট্যাটাস | |
| personal_access_tokens | Dependent | API টোকেন সংরক্ষণ | ইউজার, টোকেন নাম, শেষ ব্যবহার, তৈরির তারিখ | Revoke |
| টেবিল | উদাহরণ - ১ | উদাহরণ - ২ |
|---|---|---|
| users | 👨💻 রফিক আহমেদ (rafiq@ecom.com) → Super Admin, Active, last login: today | 👩💼 শারমিন আক্তার (sharmin@shop.com) → Product Manager, Active, created: 2025-03-10 |
| personal_access_tokens | রফিকের টোকেন: "mobile_app", শেষ ব্যবহার ২০২৫-০৪-২০, IP: 192.168.1.1 | শারমিনের টোকেন: "web_session", ২০২৫-০৪-১৯, expires in 30 days |
অ্যাক্সেস কন্ট্রোল, ভূমিকা ও অনুমতি
| টেবিল নাম | ধরণ | উদ্দেশ্য | লিস্ট পেজ কলাম | অ্যাকশন |
|---|---|---|---|---|
| roles | Independent | রোল ডিফাইন | রোল নাম, পারমিশন কাউন্ট, তৈরির তারিখ | |
| permissions | Independent | অ্যাকশন অনুমতি | গ্রুপ, পারমিশন নাম | |
| model_has_roles | Bridge | ইউজার ↔ রোল সংযোগ | ইউজার, অ্যাসাইনড রোল | Sync |
| role_has_permissions | Bridge | রোলের সাথে পারমিশন যোগ | রোল, পারমিশন লিস্ট |
| টেবিল | উদাহরণ - ১ | উদাহরণ - ২ |
|---|---|---|
| roles | super_admin → সব permissions আছে | order_manager → শুধু orders.view, orders.update |
| permissions | products.create (প্রোডাক্ট তৈরির অনুমতি) | orders.cancel (অর্ডার বাতিল করার অনুমতি) |
| model_has_roles | রফিক (user_id=1) → super_admin | শারমিন (user_id=2) → order_manager |
| role_has_permissions | super_admin → products.* , orders.* , users.* | order_manager → orders.view, orders.update |
প্যারেন্ট-চাইল্ড স্ট্রাকচার
| টেবিল নাম | ধরণ | উদ্দেশ্য | লিস্ট পেজ কলাম | অ্যাকশন |
|---|---|---|---|---|
| categories | Self Dep. | প্রোডাক্ট ক্যাটাগরি | নাম, প্যারেন্ট, স্লাগ, স্ট্যাটাস |
| টেবিল | উদাহরণ - ১ | উদাহরণ - ২ |
|---|---|---|
| categories | 📁 ইলেকট্রনিক্স (parent: null, status: active, sort: 1) | 📱 স্মার্টফোন (parent: ইলেকট্রনিক্স, status: active) → child of electronics |
| categories (২য় উদাহরণ) | 🍔 ফ্রেশ ফুড (parent: null , active) | 🥤 বেভারেজস (parent: null, active, sort: 2) |
ব্র্যান্ড পরিচিতি
| টেবিল নাম | ধরণ | উদ্দেশ্য | লিস্ট পেজ কলাম | অ্যাকশন |
|---|---|---|---|---|
| brands | Independent | প্রোডাক্ট ব্র্যান্ড | লোগো, নাম, স্লাগ, স্ট্যাটাস, সর্ট অর্ডার |
| টেবিল | উদাহরণ - ১ | উদাহরণ - ২ |
|---|---|---|
| brands | 🏷️ Samsung (logo: samsung.png, active, sort_order 1) | 🏷️ Walton (active, sort_order 2) |
| brands (extra) | 🍪 Nest Fresh (inactive, logo: nest.png) | 📱 OnePlus (active, sort_order 3) |
প্রোডাক্ট, প্যাকেট সাইজ ও দাম
| টেবিল নাম | ধরণ | উদ্দেশ্য | লিস্ট পেজ কলাম | অ্যাকশন |
|---|---|---|---|---|
| products | Dependent | মূল প্রোডাক্ট তথ্য | ছবি, নাম, SKU, ক্যাটাগরি, ব্র্যান্ড, স্ট্যাটাস | প্যাক সাইজ |
| product_pack_sizes | Dependent | প্যাক সাইজ অনুযায়ী দাম | প্রোডাক্ট, প্যাকের নাম, পরিমাণ, বিক্রয়মূল্য, ডিফল্ট |
| টেবিল | উদাহরণ - ১ | উদাহরণ - ২ |
|---|---|---|
| products | 🥤 "ফ্রেশ কোমলাপানীয়" (SKU: FIZZ01, Cat: Beverage, Brand: Nest Fresh, Active) | 🍪 "চকোলেট ক্রাঞ্চ" (SKU: CHOC22, Cat: Snacks, Brand: Dan Cake, Active) |
| product_pack_sizes | ফ্রেশ কোমলা → ৫০০ml বোতল (মূল্য ৩৫ টাকা, cost ২৫, profit ১০ টাকা, ডিফল্ট: হ্যাঁ) | ফ্রেশ কোমলা → ১.৫ লিটার (মূল্য ৭৫ টাকা, cost ৫৫, profit ২০ টাকা) |
| product_pack_sizes (2nd product) | চকোলেট ক্রাঞ্চ → ৫০ গ্রাম (মূল্য ২০ টাকা, cost ১২, profit ৮ টাকা, default: yes) | চকোলেট ক্রাঞ্চ → ১০০ গ্রাম (মূল্য ৩৮ টাকা, cost ২২, profit ১৬ টাকা) |
সরবরাহকারী, পাইকারি ক্রয় ও খরচ
| টেবিল নাম | ধরণ | উদ্দেশ্য | লিস্ট পেজ কলাম | অ্যাকশন |
|---|---|---|---|---|
| vendors | Independent | সাপ্লায়ার | নাম, ফোন, ঠিকানা, স্ট্যাটাস | |
| product_purchase_batches | Dependent | ব্যাচ অনুযায়ী ক্রয় ও ল্যান্ডেড কস্ট | ব্যাচ নং, ভেন্ডর, প্রোডাক্ট, পরিমাণ, ল্যান্ডেড কস্ট | খরচ যোগ |
| product_purchase_expenses | Dependent | অতিরিক্ত খরচ (bKash, কুরিয়ার) | খরচের ধরন, পরিমাণ, নোট | Edit/Remove |
| টেবিল | উদাহরণ - ১ | উদাহরণ - ২ |
|---|---|---|
| vendors | 🏭 "বেভারেজ সোর্স লিমিটেড" (ঢাকা, ০১৭xxxx, সক্রিয়) | 🏭 "প্যাকট্রেড ইন্টারন্যাশনাল" (চট্টগ্রাম, সক্রিয়) |
| product_purchase_batches | 📦 ব্যাচ #B001: ৫০০ কেজি ফ্রেশ কোমলা সিরাপ, মোট ক্রয় ৫০,০০০ টাকা, ল্যান্ডেড ৫৮,০০০ টাকা | 📦 ব্যাচ #B002: ৩০০ কেজি চকলেট ক্রাঞ্চ, ক্রয় ২১,০০০ টাকা, ল্যান্ডেড ২৫,০০০ টাকা |
| product_purchase_expenses | ব্যাচ #B001 → bKash চার্জ ৪৫০ টাকা, পরিবহন ১২০০ টাকা | ব্যাচ #B001 → প্যাকেজিং খরচ ৮০০ টাকা, লেবার ৩৫০ টাকা |
স্টক ইন/আউট, প্যাকেট অনুযায়ী বর্তমান স্টক
| টেবিল নাম | ধরণ | উদ্দেশ্য | লিস্ট পেজ কলাম | অ্যাকশন |
|---|---|---|---|---|
| inventory_transactions | Dependent | স্টক মুভমেন্ট হিস্টোরি | প্রোডাক্ট, প্যাক, টাইপ (IN/OUT), পরিমাণ, রেফারেন্স | |
| product_stocks | Dependent | বর্তমান স্টক দ্রুত দেখা | প্রোডাক্ট, প্যাক, বর্তমান স্টক, রিজার্ভেড | অ্যাডজাস্ট |
| টেবিল | উদাহরণ - ১ | উদাহরণ - ২ |
|---|---|---|
| inventory_transactions | 📈 ফ্রেশ কোমলা ৫০০ml → IN +২০০ পিস (পিও #PO101, তারিখ ২০২৫-০৪-১০) | 📉 ফ্রেশ কোমলা ৫০০ml → OUT -৪৫ পিস (অর্ডার #ORD100, ২০২৫-০৪-১৫) |
| product_stocks | 📦 ফ্রেশ কোমলা 500ml → current stock 155, reserved 10 (available 145) | 🍫 চকোলেট ক্রাঞ্চ 50gm → current stock 340, reserved 20 |
গ্রাহক, অর্ডার, কর্মচারী ভিত্তিক বিক্রয় ও লাভ
| টেবিল নাম | ধরণ | উদ্দেশ্য | লিস্ট পেজ কলাম | অ্যাকশন |
|---|---|---|---|---|
| customers | Independent | ক্রেতা প্রোফাইল | নাম, ফোন, ইমেইল, স্ট্যাটাস | |
| orders | Dependent | মাস্টার অর্ডার | অর্ডার নং, গ্রাহক, কর্মচারী, টোটাল, স্ট্যাটাস | |
| order_items | Dependent | অর্ডারের ভিতরে পণ্য ও লাভ | পণ্য, প্যাক, পরিমাণ, বিক্রয়মূল্য, লাভ |
| টেবিল | উদাহরণ - ১ | উদাহরণ - ২ |
|---|---|---|
| customers | 👩 আফরিন সুলতানা (afrin@gmail.com, ০১৯xxxx, Dhaka, active) | 👨 মেহেদী হাসান (mehedi@gmail.com, ০১৭xxxx, active) |
| orders | 🧾 #ORD100 → আফরিন, কর্মচারী: রফিক, মোট ৩২০ টাকা, ডেলিভারি সম্পন্ন | 🧾 #ORD101 → মেহেদী, কর্মচারী: শারমিন, মোট ৫৪০ টাকা, প্রসেসিং |
| order_items | অর্ডার #ORD100: ফ্রেশ কোমলা ৫০০ml (২ পিস), বিক্রয় ৭০, cost ৫০ → লাভ ৪০ | অর্ডার #ORD100: চকলেট ক্রাঞ্চ (১ পিস), বিক্রয় ২০, cost ১২ → লাভ ৮ টাকা |
প্রতিটি মডিউলের মূল টেবিলের নিচে আলাদা Analogy Data টেবিল যুক্ত করা হয়েছে। সেখানে প্রতিটি টেবিলের জন্য কমপক্ষে ২টি করে বাস্তব উদাহরণ দেওয়া আছে — যেমন রফিক/শারমিন, ফ্রেশ কোমলার প্যাক সাইজ, অর্ডার ইত্যাদি। মূল টেবিলের গঠন অপরিবর্তিত রেখে সহজ উদাহরণ দিয়ে ডাটাবেস রিলেশন বোঝা যাচ্ছে।