ඒකකය 10 – අවසාන ව්‍යාපෘතිය (Capstone Project): Mini POS පද්ධතියක් 🛒

සුභ පැතුම්! ඔබ පාඨමාලාවේ අවසාන සහ වඩාත්ම තීරණාත්මක ඒකකයට පැමිණ ඇත. දැන්, ඔබ මෙතෙක් ඉගෙනගත් සියලුම කුසලතා—Widgets, Layouts, File Handling, Event Handling—එකට එකතු කර, අපගේ විශාලතම සහ වඩාත්ම ප්‍රායෝගික මෘදුකාංගය නිර්මාණය කිරීමට කාලයයි.

🎯 ව්‍යාපෘතියේ අරමුණ: Mini POS (Point-of-Sale) පද්ධතියක් නිර්මාණය කිරීම

POS (Point-of-Sale) පද්ධතියක් යනු ඔබ සාමාන්‍යයෙන් වෙළඳසැල් වල බිල්පත් සෑදීම සඳහා භාවිතා කරනු දකින මෘදුකාංගයයි. අපි නිර්මාණය කරන්නේ එවැනි පද්ධතියක ඉතා සරල, කුඩා අනුවාදයකි. මෙම මෘදුකාංගයට පහත ක්‍රියාකාරීත්වයන් ඇතුළත් විය යුතුය:

  • භාණ්ඩ සහ ඒවායේ විස්තර (මිල, ප්‍රමාණය) ඇතුළත් කිරීමේ හැකියාව.
  • ඇතුළත් කළ භාණ්ඩ ලැයිස්තුවක් ලෙස පෙන්වීම.
  • මුළු බිල ගණනය කිරීම.
  • අවසානයේ, විකුණුම් වාර්තාව ගොනුවක් ලෙස සුරැකීම.

✔️ විශේෂාංගය 1: භාණ්ඩ ඇතුළත් කිරීමේ කොටස (Product Entry)

UI එකේ ඉහළ කොටසේ, පරිශීලකයාට භාණ්ඩයක විස්තර ඇතුළත් කිරීමට ඉඩ සලසන කොටසක් අපි නිර්මාණය කරමු. මේ සඳහා Label සහ Entry විජට් භාවිතා කළ හැක.

  • භාණ්ඩයේ නම (Product Name): Entry විජට් එකක්.
  • මිල (Price): Entry විජට් එකක්.
  • ප්‍රමාණය (Quantity): Entry විජට් එකක්.

මෙම විස්තර ඇතුළත් කර, "භාණ්ඩය එකතු කරන්න" (Add Product) ලෙස නම් කළ Button එකක් click කළ විට, එම භාණ්ඩය පහළින් ඇති ලැයිස්තුවට එකතු විය යුතුය.

✔️ විශේෂාංගය 2: භාණ්ඩ ලැයිස්තුව වගුවක පෙන්වීම

ඇතුළත් කරන භාණ්ඩ ලැයිස්තුව පිළිවෙලට පෙන්වීම සඳහා, සරල Label එකකට වඩා දියුණු විජට් එකක් අවශ්‍ය වේ. මේ සඳහා Tkinter හි ttk මොඩියුලයේ ඇති TreeView විජට් එක ඉතාම සුදුසුය. TreeView විජට් එක මඟින් අපට Excel වගුවක් මෙන් තීරු (columns) සහ පේළි (rows) සහිත දත්ත පිළිවෙලට පෙන්විය හැක. අපි මෙහි "නම", "මිල", "ප්‍රමාණය", සහ "අතුරු එකතුව" (Subtotal) යන තීරු නිර්මාණය කරමු.

✔️ විශේෂාංගය 3: මුළු මුදල ගණනය කිරීම

මෘදුකාංගයේ පහළින්, සම්පූර්ණ බිලේ මුළු එකතුව පෙන්වන Label එකක් තිබිය යුතුය. ලැයිස්තුවට නව භාණ්ඩයක් එකතු කරන සෑම විටම, හෝ තිබෙන භාණ්ඩයක් ඉවත් කරන සෑම විටම, මෙම මුළු මුදල නැවත ගණනය කර, ලේබලය යාවත්කාලීන (update) කළ යුතුය. මෙය අපගේ මෘදුකාංගයේ ප්‍රධාන logic කොටසයි.

✔️ විශේෂාංගය 4: විකුණුම් වාර්තාවක් සුරැකීම (Save Sales)

අවසානයේ, "විකිණීම අවසන් කරන්න" (Finalize Sale) නමින් බොත්තමක් තබමු. එය click කළ විට, එම බිලේ ඇති සියලුම භාණ්ඩ, ඒවායේ මිල ගණන්, සහ මුළු එකතුව ගොනුවකට සුරැකිය යුතුය. මේ සඳහා අප 5 වන ඒකකයේදී ඉගෙනගත් ගොනු හැසිරවීමේ (File Handling) දැනුම භාවිතා කරමු.

වඩාත් දියුණු ප්‍රවේශයක් ලෙස, ඔබට මෙය සරල .txt ගොනුවක් ලෙස සුරකිනවා වෙනුවට, CSV (Comma-Separated Values) ගොනුවක් ලෙස සුරැකිය හැක. CSV ගොනුවක ඇති වාසිය නම්, එය Microsoft Excel වැනි spreadsheet මෘදුකාංගයකින් පහසුවෙන් විවෘත කර, දත්ත විශ්ලේෂණය කිරීමට හැකි වීමයි.


🎉 සුභ පැතුම්! ඔබ පාඨමාලාව සාර්ථකව නිම කළා! 🎉

ඔබ මෙම අවසාන ව්‍යාපෘතිය සම්පූර්ණ කිරීමෙන්, ඔබ Python සමඟ ඩෙස්ක්ටොප් මෘදුකාංග නිර්මාණයේ මූලික සිද්ධාන්ත පමණක් නොව, ඒවා ප්‍රායෝගිකව යොදා ගන්නා ආකාරයද සාර්ථකව ප්‍රගුණ කර ඇත. ඔබ මුල සිටම නිර්මාණය කළ Calculator, Notes App, සහ Mini POS System යන ව්‍යාපෘති 3, ඔබේ හැකියාවට හොඳම සාක්ෂියකි.


ඔබ දැන් ඔබේම අදහස්, සැබෑ, ක්‍රියාත්මක වන මෘදුකාංග බවට පත් කිරීමට අවශ්‍ය දැනුමෙන් සහ ආත්ම විශ්වාසයෙන් සන්නද්ධව සිටී. ඉදිරි ගමනට සුභ පැතුම්!