IOU ট্র্যাক করার জন্য একটি RESTful API তৈরি করুন।
চারজন রুমমেটের প্রায়ই একে অন্যের কাছ থেকে টাকা ধার নেওয়ার অভ্যাস, আর কে কার কাছে কত টাকা পাওনা তা মনে রাখতে গিয়ে তারা সমস্যায় পড়ে।
আপনার কাজ হলো একটি সরল RESTful API তৈরি করা, যা POST রিকোয়েস্ট হিসেবে IOU গ্রহণ করে এবং GET রিকোয়েস্টের মাধ্যমে নির্দিষ্ট সারসংক্ষেপ তথ্য দিতে পারে।
{
"name": "Adam",
"owes": {
"Bob": 12.0,
"Chuck": 4.0,
"Dan": 9.5
},
"owed_by": {
"Bob": 6.5,
"Dan": 2.75
},
"balance": "<(total owed by other users) - (total owed to other users)>"
}
| বর্ণনা | HTTP মেথড | URL | পেলোড ফরম্যাট | পেলোড ছাড়া রেসপন্স | পেলোড-সহ রেসপন্স |
|---|---|---|---|---|---|
| ব্যবহারকারীর তথ্যের তালিকা | GET | /users | {"users":["Adam","Bob"]} |
{"users":<List of all User objects>} |
{"users":<List of User objects for <users> (sorted by name)} |
| ব্যবহারকারী তৈরি করুন | POST | /add | {"user":<name of new user (unique)>} |
N/A | <User object for new user> |
| IOU তৈরি করুন | POST | /iou | {"lender":<name of lender>,"borrower":<name of borrower>,"amount":5.25} |
N/A | {"users":<updated User objects for <lender> and <borrower> (sorted by name)>} |
RestAPI ক্লাসের get এবং post মেথড ইমপ্লিমেন্ট করুন।
আপনাকে কেবল হ্যান্ডলার ফাংশনগুলোই লিখতে হবে, আসল কোনো HTTP সার্ভার ইমপ্লিমেন্ট না করেই। মেমরিতে থাকা একটি অবজেক্ট দিয়ে ডেটাবেজ মক করতে পারেন, যেটিতে সংরক্ষিত সব ইউজার থাকবে। RestAPI ক্লাসের কনস্ট্রাক্টর এই ডেটাবেজের একটি ইনস্ট্যান্স আর্গুমেন্ট হিসেবে নেবে (আর কোনো আর্গুমেন্ট পাস না করা হলে তার জন্য একটি ডিফল্ট মান ঠিক করে নেবে)।
এই ইমপ্লিমেন্টেশনে GET রিকোয়েস্টের ক্ষেত্রে পেলোডটি URL-এর অংশ হবে এবং কুয়েরি প্যারামিটারের মতোই হ্যান্ডেল করতে হবে, যেমন /users?users=Adam,Bob।
Exercism-এ সাইন আপ করুন, JavaScript ট্র্যাকের 37টি কনসেপ্ট159টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।