প্রকল্প সম্পর্কে
Insomnia হলো একটি ওপেন-সোর্স, ক্রস-প্ল্যাটফর্ম ডেস্কটপ API ক্লায়েন্ট যা GraphQL, REST, WebSockets, Server-Sent Events (SSE), gRPC এবং অন্যান্য HTTP-সামঞ্জস্যপূর্ণ প্রোটোকল সমর্থন করে। এটি Mac, Windows এবং Linux-এর জন্য উপলব্ধ, Apache-2.0 লাইসেন্সের অধীনে প্রকাশিত এবং GitHub-এ Kong দ্বারা উন্মুক্তভাবে তৈরি করা হয়েছে।
README অনুযায়ী এর মাধ্যমে যা করা সম্ভব:
- জনপ্রিয় প্রোটোকল এবং ফরম্যাট ব্যবহার করে API ডিবাগ করা।
- নেটিভ OpenAPI এডিটর এবং ভিজ্যুয়াল প্রিভিউয়ের মাধ্যমে API ডিজাইন করা।
- নেটিভ টেস্ট স্যুট এবং কালেকশন রানারের মাধ্যমে API পরীক্ষা করা।
- ক্লাউড বা সেলফ-হোস্টেড মকিং সার্ভারের মাধ্যমে API মক করা।
- লিন্টিং এবং টেস্টিংয়ের জন্য নেটিভ Insomnia CLI (Inso) ব্যবহার করে CI/CD পাইপলাইন তৈরি করা।
- প্রোডাক্টের কোলাবরেশন ফিচারগুলোর মাধ্যমে একত্রে কাজ করা।
- থার্ড-পার্টি প্লাগইন দিয়ে ক্লায়েন্টটিকে আরও উন্নত করা।
স্টোরেজ অপশন। প্রজেক্ট, কালেকশন, ডিজাইন স্পেক এবং অন্যান্য রিসোর্স বিভিন্ন ব্যাকএন্ডে রাখা যেতে পারে এবং README অনুযায়ী প্রতিটি প্রজেক্টের জন্য এগুলো সমন্বয় করা সম্ভব:
- Local Vault, সম্পূর্ণ লোকাল স্টোরেজের জন্য।
- Git Sync, ক্লাউডের মাধ্যমে না গিয়ে যেকোনো থার্ড-পার্টি Git রিপোজিটরি ব্যবহার করে।
- Cloud Sync, ক্লাউড কোলাবরেশনের জন্য, যা ঐচ্ছিকভাবে এন্ড-টু-এন্ড এনক্রিপ্টেড (E2EE) হতে পারে।
একটি Private Environments ফিচার প্রজেক্টের জন্য যে স্টোরেজ ব্যাকএন্ডই বেছে নেওয়া হোক না কেন, এনভায়রনমেন্ট কনফিগারেশন লোকালি সংরক্ষণ করে।
অ্যাকাউন্ট এবং প্ল্যান। লোকাল Scratch Pad-এর মাধ্যমে অ্যাকাউন্ট ছাড়াই Insomnia ব্যবহার করা যেতে পারে। অন্যান্য বেশিরভাগ ফিচারের জন্য অ্যাকাউন্টের প্রয়োজন; README-তে ব্যাখ্যা করা হয়েছে যে এটি বিনামূল্যে উপলব্ধ ওপেন-সোর্স ডিস্ট্রিবিউশনের উন্নয়ন বজায় রাখার উপায়। এর ফ্রি টিয়ারটি যথেষ্ট সমৃদ্ধ, তবে প্রিমিয়াম প্ল্যানগুলোতে আনলিমিটেড কোলাবরেশন, Git Sync, অর্গানাইজেশন তৈরি এবং থার্ড-পার্টি আইডেন্টিটি প্রোভাইডার লগইন (SAML, OIDC) সুবিধা যুক্ত করা হয়েছে। অ্যাকাউন্ট থাকা বা না থাকা নির্বিশেষে API ডেটা শুধুমাত্র লোকালি বা Git-এ সংরক্ষণ করা সম্ভব।
ডেভলপমেন্ট। রিপোজিটরিটি একটি Node.js মনোরেপো; অবদান রাখার জন্য Node.js এবং Git প্রয়োজন, যেখানে সঠিক Node ভার্সন .nvmrc-এ নির্দেশ করা আছে। সাধারণ রুট-লেভেল কমান্ডগুলোর মধ্যে রয়েছে npm i, npm run lint, npm run type-check, npm test, npm run dev (লাইভ রিলোড) এবং npm run dev:autoRestart (রেন্ডারার লাইভ রিলোড এবং মেইন প্রসেস অটো রিস্টার্ট)। লিনাক্স ব্যবহারকারীদের Ubuntu/Debian-এ libfontconfig-dev বা Fedora-তে libcurl-devel-এর মতো সাপোর্টিং প্যাকেজ প্রয়োজন হতে পারে এবং ইনস্টলেশন ব্যর্থ হলে ক্যাশড Electron ইনস্টল ক্লিয়ার করার প্রয়োজন হতে পারে। Inso CLI-এর নিজস্ব ওয়ার্কফ্লো রয়েছে: npm i, ওয়াচ মোডে কম্পাইল করার জন্য npm run inso-start, তারপর ./packages/insomnia-inso/bin/inso -v।
ইকোসিস্টেম এবং কমিউনিটি। Insomnia Plugin Hub থেকে প্লাগইন খুঁজে পাওয়া এবং ইনস্টল করা যায়। README-তে কিছু কমিউনিটি প্রজেক্টের কথা উল্লেখ করা হয়েছে যার মধ্যে রয়েছে Insomnia Documenter (API ডকুমেন্টেশন পেজ তৈরি করা), একটি GitHub REST API স্পেক ইমপোর্টার এবং Swaggymnia (বিদ্যমান API-এর জন্য Swagger ডকুমেন্টেশন তৈরি করা)। ইস্যু গাইডলাইন পড়ার পর GitHub ইস্যু ট্র্যাকারের মাধ্যমে বাগ রিপোর্ট এবং ফিচার রিকোয়েস্ট পাঠানো যায়; সাধারণ প্রোডাক্ট সংক্রান্ত প্রশ্নগুলো প্রজেক্টের Slack কমিউনিটিতে সমাধান করা হয়। অফিসিয়াল ডকুমেন্টেশন docs.insomnia.rest-এ পাওয়া যাবে।
README-এর উল্লেখযোগ্য সতর্কতা: বেশিরভাগ ফিচারের জন্য অ্যাকাউন্টের প্রয়োজন, এবং কোলাবরেশন ও Git Sync-এর জন্য ঐচ্ছিক পেইড প্ল্যান রয়েছে। সোর্স কোডটি Apache-2.0 লাইসেন্সের অধীনে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.