Problem Statement: Report Generation
ধরুন আপনাকে রিপোর্ট বানানোর জন্য একটা ডিজাইন দেয়া হল। আপনি সেটা ইনটিগ্রেট করে কাজ শেষ করলেন। কদিন বাদে সেখানে ডিজাইন চেঞ্জ করতে বলা হল, করলেন। কদিন পরে আরেকবার, একটার পর একটা চেঞ্জ আসতে লাগল।
প্রতিবারের এই চেঞ্জ ইন্টিগ্রেট করতে আপনাকে বারবার কোডবেজে চেঞ্জ করে অ্যাপ রি-ডেপ্লয় দিতে হবে। যেটা বেশ পেইনফুল এবং প্রচুর পরিমানে ব্যাক এন্ড ফোর্থ হয়।
Solution (Approach)
এখন ধরি, HTML-CSS দিয়ে ডিজাইনের জন্য আলাদা টিম আছে, অথবা আপনিই করেন।
এক্ষেত্রে অ্যাপ্রোচটা এরকম হতে পারে, আমরা ডিজাইন আপলোডের জন্য একটা প্যানেল দিয়ে দিতে পারি। এপিআই এর ডেফিনেশনে ডিফাইন করে দিতে পারি ডিজাইনে কি কি প্লেসহোল্ডার ইউজ করা যাবে। এই প্লেসহোল্ডারগুলো রাখলে সিস্টেম সেই টেমপ্লেটটা ইউজ করে তার বিপরীতে ভ্যালু অটোমেটিকলি বসিয়ে দিয়ে রিপোর্টটা জেনারেট করে দেবে।
সেক্ষেত্রে কাজটা খুবই সহজ হয়ে যায়, যতগুলো ডিজাইন টেমপ্লেট অ্যাড করা হোক না কেন, যত চেঞ্জ আসুক না কেন প্যানেল থেকে আপডেট করে দিলে অথবা নতুন টেমপ্লেট তৈরি করলেই হল।
নিচের দুই মিনিটের ভিডিওতে একটা ডেমো দেখানো হয়েছে। এখানে ভ্যালু বসানোর কাজ গুলো ম্যানুয়ালি করলেও সার্ভিস বানানো আছে যেখানে টেমপ্লেটের রেফারেন্স এবং ভ্যালুগুলোর একটা হ্যাসম্যাপ দিলে সে রিপোর্ট জেনারেট করে দেবে।
Implementation
`Project Open Bankrupt` ওপেনসোর্স প্রজেটটাতে বাই ডিফল্ট আপনি এই ফিচার পেয়ে যাচ্ছেন।
সেই সাথে আপনার লার্জ-স্কেল প্রজেক্ট বুটস্ট্রাপ করার জন্য যত ধরনের ফিচার এবং বয়লারপ্লেট প্রয়োজন, সব আছে এখানে
ওপেনসোর্স এ প্রোজেক্টটি সম্পূর্ন মডুলারাইজড এবং প্রতিটা ক্ষেত্রে বেস্ট প্র্যাক্টিস কনসিডার করা হয়েছে।