එක හොඳයි මචන්. example project එකක් විදියට පටන් ගන්න එක. නැත්තන් වෙන්නේ වැඩේ යන්නේ නැතුව මග නිකන් බොරුවට හිර වෙන එක විතරයි.මේක තවම example project එකක් bro.. එහෙම business plan එකක් තියාගෙන කරන වැඩක් නෙවෙයි දැනට.. මේකෙන් try කරන්නේ tech වලට එන්න කැමති අයට project එකක් හරහා experience හදලා දෙන එක..

මචන් මමත් ඉන්නවා. ජය!![]()
මේක කිසිසේත්ම ඔයාල මෙච්චරකල් කල නෝට් බලලා හෝ වීඩියෝ බලලා දෙයක් ඉගෙන ගන්න එකට සම්පුර්නෙන් වෙනස් වෙයි. තනිකර ප්රැක්ටිකල් එක්ක යන වැඩක් කරන්න යන්නේ. මම දැඩිව විෂවෂ කරන දෙයක් පළපුරුද්ද කියන එක අනික් හැම දේටම වඩා උඩින් තියෙන්නේ කියන එක. මේ ෆලෝ එකත් එක්ක යන අයට තමා මේක වැදගත් වෙන්නේ. කම්මැලි කමට ඉන්න එපා. වැඩේ එක්කම ඉන්න කියල මුලින්ම හැමෝගෙන්ම ඉල්ලනවා
මේකෙදි ඔයාලගේ උනන්දුව කැපවීම තමා ඕනේ. මහන්සි වෙලා වැඩ කරන්න ඕනේ නැ . එකට තමා ස්මාර්ට් වීම කියන දේ තියෙන්නේ. මුල ඉදලා අගටම කියවලා බලලා වැඩේ පටන් ගන්න ඕනේ. මේක කරන්නේ සොෆ්ට්වෙයා ගැන මොනම හෝ දැනුමක් නැති එකෙක්ටත් හරියන විදිහට. ඒ නිසා තමන්ට අදාළ තැනින් පනින්න ඕනේ. ඒ වගේම කලිනුත් කිව්වා වගේ උබලට තියන අදහස් චෝදනා වැරදි තව එකතු වෙන්න ඕනේ දේවල් සේරම මේකේ දාපල්ලා. ඒ ඔක්කොම ආවාම මේක PDF එකකින් මෙතනම දානවා.
මේක ඉතාමත් කෙටියෙන් කියන්නේ. අතිශයින්ම ඕනේ ටික විතරයි. මොකද අපිට හුගක් දුර යන්න තියනවා. ඉතින් පොඩි දෙයක් හරි තේරුනේ නැත්නම් හෝ ප්රශ්න තියේ නම් අහන්න. පුළුවන් හැම කෙනෙක්ම උත්තර දෙන්න.
කෙලින්ම වැඩේට බහිමු
===================
සොෆ්ට්වෙයා එකක් හදන්නේ යම් බිස්නස් එකක තියන අතින් කරන්න ඕනේ වැඩ ටික (manual works) අඩු කරගන්න හෝ නැත්තටම නැති කරගන්න. උදාහරණ විදිහට කඩේක බඩු වල විකුණුන දේවල් අතින් කොලේක ලියනවට වඩා එක පරිගණකට ඇතුලත් කලාම අපිට ලේසියෙන් දවසේ sale එකේ වටිනාකම බලාගන්න පුළුවන්. ඒ වගේම තමන්ට ඒවගෙන් තියන profit එහෙම ලේසියෙන් බලාගන්න පුළුවන්. මේක පොතක කරලා බලනවා නම් සැහෙන වෙලාවක් පිටු පෙරලා පෙරලා ගණන් හදන්න වෙනවා.
සොෆ්ට්වෙයා සහ බිස්නස් මොඩල් එක
===============================
අපි උඩින් කිව්වා වගේ සොෆ්ට්වෙයා එකක් වැදගත් වෙන්නේ බිස්නස් එකකට. එක උබලගේ ගෙදර දෙයක් හරි වෙන්න පුළුවන්. බිස්නස් මොඩල් එක කියන්නේ කම්පැනි එකක් ලාබ හොයන්න හෝ වැඩක් ලේසි කරන්න යොදාගන්න ක්රම වේදය. මේකට අපේ බිස්නස් සෙට් එක හොද නිර්වචනයක් දීලා එහෙම ගන්න අනික් අයට දැනගන්න.. ඉතින් අපි කරන්නේ දැනට අමාරුවෙන් බර කරත්තෙන් අදින මේ බිස්නස් මොඩල් එකට පරිගණක වලින් විසදුමක් දෙනවා. එක දෙන්නේ සොෆ්ට්වෙයා එකක් විදිහට. අපිට සොෆ්ට්වෙයා එකක් හදන්න දුන්නම මේ බිස්නස් මොඩල් එක හරියටම නුලටම හොයාගන්න එක තමා හොදම සොෆ්ට්වෙයා එකක හොදටම කරන්න ඕනේ. මේක දැනගැනීමේ ප්රතිශතය මත සොෆ්ට්වෙයා එක කොච්චර perfect ද කියන එක රදා පවතිනවා
හරි දැන් ඔය මගුල හදන්නේ කොමද?
==============================
උඩින් කිව්ව බිස්නස් එකට සොෆ්ට්වෙයා එකක් හදනකොට ටොයිලට් එකට ගිහින් බොක දානව වගේ එක පාර කරන බැ . එකට ස්ටෙප්ස් ගොඩක් තියනවා. මේ ස්ටෙප්ස් ටික හරිම වැදගත්. ලෝකේ එක එක තැන් වල මේවා එක එක විදිහට වෙනවා. සමහර තැන් වල සම්පුර්ණයෙන් වෙනස් ක්රමයක් තමන්ටම හදාගන්නවා මේකට. ඉතින් අපි බලමු සාමන්යෙන් කරන්න ඕනේ දේ. ඉස්සරහට යනකොට අපේ වැඩේ හොදට දන්නා අය මේකට විවිද දේවල් එකතු කරයි කියල මම හිතනවා.
සොෆ්ට්වෙයා එකක් හදන පියවරවල්
------------------------------------------------
මේ පල්ලෙහායින් තියන ටික තම බිස්නස් එකක් සොෆ්ට්වෙයා එකකට හරවනකොට කරන්න තියන වැඩ ටික.
1. Planning
2. Analysis
3. Design
4. Development
5. Test
6. Acceptance
7. Maintenance
දැන් මේකේ තියන 7 ම උබලට කියන්න ගියොත් අපිට ගෙවල් වලට ඇවිල්ලා ගහලා යයි. ඒ නිසා අපි මේ පියවරවල් වල ලොකු විස්තරයක් ඒ පියවරේදී බලමු. දැනට මේකෙන් කියන්නේ මොකක්ද කියල බලල වැඩේට බහිමු. මොකද මේක තියරි අඩුවෙන ප්රැක්ටිකල් වැඩියෙන් කරන එකක් නිසා. ඒ උනාට වැඩේ දන්නෙම නැති උන් මේවා ගැන වැඩිදුර හොයල බලන එක වටිනවා.
මේ ලෝකේ ඕනෙම වැඩක් කරන්න කලින් පොඩි ප්ලැන් එකක් ගහගන්න එක මිනිසුන්ගේ පුරුද්දක් නේ. උබලා බොන්න ගියත් සෙට් එකාගෙන් අහනව නේ මොනවද ගහන්නේ? කොහෙද බොන්නේ අපි?එකා කීය ගානේ දානවද? නිකන් බොන්න එන හිරලුවෝ හලන්නේ කොහොමද? වගේ දේවල්. අන්න එකට තමා Planning කියන්නේ. සොෆ්ට්වෙයා එකක් හදන්න කලින් මුලිනම් ආපි ඒ වැඩේ වෙන්නේ කොහොමද කියල plan කරන්න ඕනේ. නැත්නම් වැඩේ හබක්. මේකෙදි අපි කස්ටමර් එක්ක කතා කරගනන්ව මොනවද ඕනේ කියල සහ අපි දෙන්නේ මෙන්න මේ ටික තමා කියල. නැත්නම් ඌ අපි හදන එකෙන් රෙදි ටික හෝදන්නත් හදලා දෙන්න කියයි. ඒ නිසා අපි boundary එකක් හදාගන්නවා මෙන්න මේක ඇතුලේ තියන දේවල් විතරයි දෙන්නේ කියල. ඊට පිට පනින්න ඕනේ නම් අව්ලක් නැ වැඩිපුර අරගෙන කරන්න වෙනව. එතැනදී අලුත් boundary එකක් හැදෙනවා. එක තමා Final boundary එක නැත්නම් System boundary එක කියන්නේ. එතනින් එහා හෙන ගැහුවත් හදන්නේ නැ
Analysis කරනවා කියන්නේ අපි අර උඩින් කිව්ව බිස්නස් එක ගැන වැඩි දුර හොයා බලනවා. මොකක්ද එකන් වෙන්නේ වගේ බිස්නස් මොඩල් එක ගැන ඉතා හොද දැනුමක් ගණන්ව මේකෙදි.
Design කරන එකෙන් කරන්නේ අර Analysis කරලා ගත්ත තොරතුරු එක්ක මේ හදන සොෆ්ට්වෙයා එක කොහොමද තියෙන්න ඕනේ කියල සලකල බලන එක. මේකෙදි Data save කරන විදිහ , බිස්නස් මොඩල් එකේ ප්රොසෙස් එක හරියටම හදාගන්න එක., හදන සොෆ්ට්වෙයා එකේ User Interfaces ගැන බලන එක වගේ වැඩ ගොඩක් තියනවා කරන්න. මේක සහ Analysis එක අපි සැහෙන්න ඇතරලා දාන පියවරල් දෙකක්. නමුත් සොස්ෆ්ට්වෙයා එකක් හදද්දී තියන ඉතාමත් වැදගත් පියවරවල් දෙක මේක. මේ දෙක වැරදුනොත් හදන එක රුවිතෙට යනවා
Development කියනේ පුතාල අර උඩින් කිව්ව ස්ටෙප් දෙකේදී අපි ඩිසයින් කරගත්ත විදිහට සොෆ්ට්වෙයා එකක් හදන එක. මේක කරන්න දේවල් ගොඩක් ඕනේ වෙනවා. එකෙන් මුලික දේ Programing Language එකක් එකෙන් තමා ඉඩ දී අපි සැලසුම් කල පියවරවල් වලට වැඩේ වෙන්න හදන්නේ. මේක එක්ක තව ටුල් ගොඩක් එකතු වෙලා තම මේ වැඩේ වෙන්නේ. අපි ඒවා මේ ගැන වැඩිදුර කතා කරන නුලේදී බලමු. වැදගත් දෙයක් තමා Programing Language ඉගෙන ගන්න අය මතක තියාගන්න්න ඕනේ තමන් කරන දේට උඩින් තව පියවරවල් 3 ක් තියනවා කියන එක. ඒ උද පියවරවල් තුන නැතුව හොද වැඩ කාරයෙක් වෙන්න හරිම අමාරුයි.
Test කරද්දී තමා අහුවෙන්නේ අපි හදපු එකේ ගහලා තියන බුල් ටික. මේකෙන් කරන්නේ පුතාල අර Design පියවරේදී අපි මවාගත්ත කෙල්ලද මේ හදලා තියෙන්නේ කියන එක. මේකෙදි ටෙස්ට් වර්ග ගොඩක් තියනවා. unit test , integration test , regression test වගේ ටෙස්ට් වර්ග ගොඩක්. මේකට ඉන්නවා වෙනම ඕපාදුප කාපර්ලා . උන්ට වචනේ වැරදුනත් පෙන්න ඕනේ. මේ අය තමා සොෆ්ට්වෙයා එක ඔකේ කියල ෆයිනල් කමාන්ඩ් එක දෙන්නේ. මෙතනින් පස්සේ සොෆ්ට්වෙයා එක සම්පුර්ණයෙන් වගේ හදලා ඉවරයි කියන්න පුළුවන්. මේක වෙන විදිහත් වෙනම ත්රෙඩ් එකකින් අපි බලනවා
දැන් මේ හදලා ටෙස්ට් කලාට වැඩක් නැ ඕක උන්ට ඕනෙම විදිහට තියනවා කියල අපිට මේක හදන්න දුන්න සෙට් එක Confirm කරන්න ඕනේ. අන්න එකට අපි කියන්නේ Acceptance නැත්නම් User Acceptance Testing කියල. මේක කරන්නේ කස්ටමර් ගේ පැත්තේ සෙට් එකක්. උන්ට අපි හදපු සොෆ්ට්වෙයා එකේ ට්රයල් එකක් දෙනවා. උන් එක උන්ගේ සෙට් එක එක්ක හොදට ටෙස්ට් කරනවා , උන්ගේ ඇත්ත ඩේටා දාල බලනවා. දාල ෆයිනල් රිපෝට් එකක් දෙනවා. එකේදී වෙනස්කම් කරන්න ඕනේ නම් මුලින් බලනවා අර උඩ එකග උන boundary එක ඇතුලේ වෙනස් කමක් ද ඉල්ලන්නේ කියල. එහෙම නම් කරලා දෙනවා. නැත්නම් ගානක් අරන් තමා කරලා දෙන්නේ
අන්තිමට ඉතින් හදාගත්ත දරුවා බලාගන්න තමා තියෙන්නේ. අසනීප අවාම බෙහෙත් දෙන්න ඕනේ. ඉස්පිරිතාලේ ගෙනියන්න ඕනේ අන්න ඒවා තමා Maintenance කියන්නේ. මේකට වෙනම ටීම් එකක් ඉන්නවා. ඒ වගේම සාමන්යෙන් customer service line එකක් හදනවා අපි. එකේදී customer calls , complains . subjections වගේ ඒවා ලොග් කරගනන්ව. මේ line එකේම කැල්ලක් තමා customer support team එක . ඒ අය තමා කස්ටමර් ලා දෙන හැම දේම බාරගන්නේ. එතනින් හදලා දෙන්න පුළුවන් දේවල හදලා දෙනවා. බැරි දේවල් ඩිවලොප්මන්ට් ටීම් එක පැත්තට දානවා. මේකට අපි වෙනම සර්විස් චාජ් එකක් අනිවාර්යෙන් අය කරනවා. සොෆ්ට්වෙයා ගෙඩි පිටින් හදලා දෙනවා කියන්නේ බොරු කතා. මොකද හදපු උන්ට වඩා අලුතෙන් එකට අත ගහන එකෙක් ඒ ගැන දන්නේ නැනේ.

Toxic උනේ toxic උන මිනිස්සුන්ට.. උඹට ඕන නම් ignore දාන් හිටපන් මට ගානක්වත් නෑ.. උඹේ fake එකකුත් ban වෙන්න ඇති ඔච්චර තරහ යන්න නම්siri_ayya ignore list eke inne. toxic minissunge danuma mata nam poddak wath wedak na. avoid at any cost
හරි මම කියන්නම්අපිට පුළුවන් නම් අඩුපාඩු නැති හොඳ ව්යාපාර සැලසුමක් හදන්න, investment ගන්නත් පුළුවන් වෙයි වැඩේට.
ඇත්තටම "small delivery business" කියලා අපි දැන් කරන්න යන්නේ මොන වගේ වැඩක්ද?
මොකක් හරි niche එකකට අදාළ uber වගේ delivery service එකක් හදන්නද?
නැතිනම්, small business කරන අයට delivery platform එකක් හදලා දෙනවද?
එහෙමත් නැති නම්, delivery කරන අයයි, customer ලවයි සම්බන්ධ කරන platform එකක් වගේ ද?
එහෙමත් නැති නම්, මට තවම තේරෙන්නේ නැති වෙනම එකක් ද?
Task 1: දැන් අපි කරන්න යන්නේ Small Delivery Business එකක් නේ. උබලා හැමෝම බලන්න ඕනේ මේක මොකක්ද කියල. එක ගැන විස්තර හොයන්න ඕනේ. ලෝකේ ඕනේ තැනක තියන දේවල් අරගෙන බලන්න ඕනේ. එහෙම බලලා උබලා ඔය වගේ සිස්ටම් එකකින් වෙන වැඩ නිකන් කතාවක් වගේ ලියන්න. අන්න ඒක ඩ්රයිව් එකට අප්ලෝඩ් කරලා මේකේ දාපල්ලා. නැත්නම් නිකන් පොස්ට් එකක් විදිහට හරි කමක් නැ . වීඩියෝ සහ පොස්ට් වල ලින්ක් දාන්න එපා. මොකද එක බලල උබලා ගත්ත හරය තමා ඕනේ. හැබැයි ඒ වීඩියෝ සහ පොස්ට් වගේ ඒවා bookmark කරලා තියාගන්න ඕනේ නම් නොට් එක යටින් reference කියල දාන්න.
You got it, bro. excellentමේක තවම example project එකක් bro.. එහෙම business plan එකක් තියාගෙන කරන වැඩක් නෙවෙයි දැනට.. මේකෙන් try කරන්නේ tech වලට එන්න කැමති අයට project එකක් හරහා experience හදලා දෙන එක..

brainstorm එනවා planning එකේදී. ඉවසාහෙන ඉන්න ජෝසි අක්කාඒක තමා නේ! Non-tech අයටත් මේකේ role එකක් තියෙනවා හැබැයි ලොකුවට කරන්න අදහස් කරන නිසා. Business pitching වලට එහෙම දාලා, investment ගන්නවා නම්, කට්ටිය එකතු වෙලා හොඳ brainstorm පාරක් දාමු මේකෙම මොනවද කොහොමද කරන්න පුළුවන් කියලා.

ඔබට එය බාරයි., වෙනම නුලක් නම් හොදා නේද බන් මම හිතන්නේ. මේකටම අමුනන්නම්බලමු විස්තර ටිකක් එකතු කරල පැරලල් නූලක්ම දාන්නන් github organization ගැන. නෑ ඇත්තටම අපිට රිමෝට් වැඩ කරන්නකොට ඕනි වෙන ටූල්ස් ගැනම දාන්නන් එතකොට ඕනි මගුලකින් කරන්න පුලුවන් නෙ.

ගෙදර වැඩ කරන්ඩෝ . ටයිම් හදාගෙන කරන්න ඕනේ හොදේමම මේක උබත් එක්ක මුල ඉදලා අගටම කරනවා... එළකිරි බාන්.

ගෙදර වැඩ කරන්ඩෝ . ටයිම් හදාගෙන කරන්න ඕනේ හොදේUp sahenata mahansi wela liyala thiyanawa bro

දැනුම දන්නේ නැ එක දෙන එකා ටෝක්සික් ද නැද්ද කියල මචන්. ඇතරලා දාපන්.siri_ayya ignore list eke inne. toxic minissunge danuma mata nam poddak wath wedak na. avoid at any cost

------ Post added on Oct 16, 2022 at 3:29 PMTask 1: දැන් අපි කරන්න යන්නේ Small Delivery Business එකක් නේ. උබලා හැමෝම බලන්න ඕනේ මේක මොකක්ද කියල. එක ගැන විස්තර හොයන්න ඕනේ. ලෝකේ ඕනේ තැනක තියන දේවල් අරගෙන බලන්න ඕනේ. එහෙම බලලා උබලා ඔය වගේ සිස්ටම් එකකින් වෙන වැඩ නිකන් කතාවක් වගේ ලියන්න. අන්න ඒක ඩ්රයිව් එකට අප්ලෝඩ් කරලා මේකේ දාපල්ලා. නැත්නම් නිකන් පොස්ට් එකක් විදිහට හරි කමක් නැ . වීඩියෝ සහ පොස්ට් වල ලින්ක් දාන්න එපා. මොකද එක බලල උබලා ගත්ත හරය තමා ඕනේ. හැබැයි ඒ වීඩියෝ සහ පොස්ට් වගේ ඒවා bookmark කරලා තියාගන්න ඕනේ නම් නොට් එක යටින් reference කියල දාන්න.
උබ තමා ගෙදර වැඩ කල පලවෙනි එකා. එලම කිරි.ගෙදර වැඩ 01
1. කස්ටමර් register කරද්දි එයාගෙ address එකේ route එක important වෙන්න ඕනෙ. delivery කරද්දි route එක plan කරල තමා vehicles යන්නෙ. එතකොට ඒ route එකේ තියෙන කඩ මිස් වෙන්න බෑ. ඒ නිසා එක ගොඩක් important role එකක් වෙනව entire system එකටම route එක. route එක කියන්නෙ address එකේ part එකක් නෙමේ. user තමා routes හදන්නෙ.
str | text | selectable
2. stock එක මැනේජ් වෙද්දි ඒ ඒ vehicle එකේ stock එක වෙනම manage වෙන්න ඕනෙ. ඒ කියන්නෙ warehouse එකක් විදියට vehicle එකක් ඇක්ට් කරනව. හැබැයි vehicle එකෙන් බිල් එක යද්දි user role එකක් apply වෙන්න ඕනෙ ඒ අදාල vehicle එකෙන් විතරක් userට bill කරන්න පුලුවන් විදියට. vehicle select කරන්න තිබ්බොත් වෙන vehicle වලින් බිල් කරල maintenance calls request ප්රමානෙ අම්බානෙකට වැඩි වෙනව. අනික stock balance වෙන්නෙ නැතුව ප්රශ්න ගොඩක් ඇති වෙනව. හැබැයි user availability එක අනුව යන vehicle & route වෙනස් වෙනව. ඒකියන්නෙ vehicle එක මාරු කරගන්නත් ඕනෙ මේක දවස ගානෙම වෙන්නත් පුලුවන්
3. bespoke නැතුව generic system එකක් නිසා සමහරු vehicle එකේ ඉදන් බිල් කරන්න කැමති වෙන්නත් පුලුවන්. සමහරුන්ට එච්චර hardware වලට වියදම් කරන්න බැරි වෙලා back office එකෙන් බිල් කරන්නත් පුලුවන්. එතකොට මේ option ඔක්කොම ඕනෙ
i. මුලින් සයිට් විසිට් කරල order එක අරන් පස්සෙ back office එකෙන් බිල් කරල delivery එකත් එක්ක බඩු ටික එවන්නත් පුලුවන්ii. vehicle එකෙන්ම එවලෙ order එක අරන් bill කරන්නත් පුලුවන්,iii. manually bill කරල හවසට back office එකෙන් system එකට බිල් වෙන්නත් පුලුවන්4. ඊලගට තව සමහර අයට බිල් වෙන්නෙ එක තැනකින් ship වෙන්නෙ තවත් තැනකට. payment කරන්නෙ තවත් තැනකින්. ඔය ටික දාගන්නත් ඕනෙ. route එක එතකොට ship වෙන තැනට තමා deliver එක වෙන්නෙ.
තව තියෙනව පස්සෙ දාන්නම්


Distributed කිව්වෙ microservices විදිහටදදිස්ට්රිබියුටඩ්
?Yes. but ubata therenna one microservices level ekata enna tikak kal yanawa mekaDistributed කිව්වෙ microservices විදිහටද?