Skip to content

AbabilX/Ababil-Studio

Repository files navigation

Ababil Studio Banner

GitHub stars License Version GitHub issues

Postman এর একটি আধুনিক, অতি দ্রুত বিকল্প
Rust core + Electron + React + TypeScript দিয়ে তৈরি

🇧🇩 বাংলা🇬🇧 English


🌟 সংক্ষিপ্ত বিবরণ

আবাবিল স্টুডিও একটি ওপেন-সোর্স API ডেভেলপমেন্ট এবং টেস্টিং প্ল্যাটফর্ম যা Postman এর মতো ঐতিহ্যবাহী টুলগুলির চেয়ে দ্রুত, হালকা এবং আরও কার্যকর হওয়ার জন্য ডিজাইন করা হয়েছে। Rust এর পারফরম্যান্স ক্ষমতা ব্যবহার করে, আবাবিল আধুনিক ওয়েব প্রযুক্তির সাথে নির্মিত একটি সুন্দর, স্বজ্ঞাত ইউজার ইন্টারফেস বজায় রেখে প্রায় তাৎক্ষণিক রিকোয়েস্ট এক্সিকিউশন প্রদান করে।

কেন আবাবিল?

  • ⚡ অবিশ্বাস্য দ্রুত: Rust-চালিত কোর দ্রুততম HTTP রিকোয়েস্ট প্রসেসিং নিশ্চিত করে
  • 🪶 অত্যন্ত হালকা: Electron-ভারী বিকল্পগুলির তুলনায় ন্যূনতম রিসোর্স ব্যবহার
  • 🎨 আধুনিক UI: React এবং Tailwind CSS দিয়ে তৈরি সুন্দর, রেসপন্সিভ ইন্টারফেস
  • 🔓 ওপেন সোর্স: সম্পূর্ণ স্বচ্ছ, কমিউনিটি-চালিত ডেভেলপমেন্ট
  • 🔐 গোপনীয়তা প্রথম: আপনার ডেটা আপনার মেশিনেই থাকে
  • 🛠️ ডেভেলপার-বান্ধব: ডেভেলপারদের দ্বারা, ডেভেলপারদের জন্য ডিজাইন করা

✨ বৈশিষ্ট্যসমূহ

মূল সক্ষমতা

  • HTTP মেথড সাপোর্ট: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS
  • রিকোয়েস্ট বিল্ডার: API রিকোয়েস্ট তৈরির জন্য স্বজ্ঞাত ইন্টারফেস
  • কালেকশন ম্যানেজমেন্ট: আপনার API এন্ডপয়েন্টগুলি সংগঠিত এবং সংরক্ষণ করুন
  • এনভায়রনমেন্ট ভেরিয়েবল: একাধিক এনভায়রনমেন্ট নির্বিঘ্নে পরিচালনা করুন
  • রেসপন্স ভিউয়ার: JSON, XML, HTML এবং আরও অনেক কিছুর জন্য সুন্দর সিনট্যাক্স হাইলাইটিং
  • রিকোয়েস্ট হিস্ট্রি: আপনার সমস্ত API কল ট্র্যাক করুন
  • অথেন্টিকেশন: Bearer, Basic, OAuth, এবং API Key অথেন্টিকেশন সাপোর্ট

পারফরম্যান্স বৈশিষ্ট্য

  • Rust-চালিত ইঞ্জিন: রিকোয়েস্ট এক্সিকিউশনের জন্য নেটিভ পারফরম্যান্স
  • সমান্তরাল রিকোয়েস্ট: একসাথে একাধিক API কল পরিচালনা করুন
  • ন্যূনতম লেটেন্সি: অপ্টিমাইজড রিকোয়েস্ট পাইপলাইন
  • কম মেমরি ব্যবহার: দক্ষ রিসোর্স ম্যানেজমেন্ট

ডেভেলপার অভিজ্ঞতা

  • কোড স্নিপেট: একাধিক ভাষায় ক্লায়েন্ট কোড জেনারেট করুন
  • ইমপোর্ট/এক্সপোর্ট: আপনার টিমের সাথে কালেকশন শেয়ার করুন
  • ডার্ক মোড: দীর্ঘ কোডিং সেশনের সময় চোখে সহজ
  • কীবোর্ড শর্টকাট: আপনার ওয়ার্কফ্লো দ্রুততর করুন

🚀 শুরু করা যাক

প্রয়োজনীয়তা

  • Node.js (v16 বা তার বেশি)
  • Bun অথবা npm অথবা yarn
  • Rust (সোর্স থেকে বিল্ড করার জন্য)

ইনস্টলেশন

অপশন ১: প্রি-বিল্ট বাইনারি ডাউনলোড

# সর্বশেষ রিলিজ ডাউনলোড করুন
https://github.com/AbabilX/Ababil-Studio/releases/

# v1.0.0 - প্রথম স্টেবল রিলিজ এখন উপলব্ধ!

অপশন ২: সোর্স থেকে বিল্ড করুন

  1. রিপোজিটরি ক্লোন করুন

    git clone https://github.com/AbabilX/Ababil-Studio.git
    cd Ababil-Studio
  2. ডিপেন্ডেন্সি ইনস্টল করুন

    bun install
    # অথবা
    npm install
  3. ডেভেলপমেন্ট মোডে চালান

    bun start
    # অথবা
    npm start
  4. প্রোডাকশনের জন্য বিল্ড করুন

    bun run build
    # অথবা
    npm run build
  5. Electron অ্যাপ চালান

    bun run electron
    # অথবা
    npm run electron

🏗️ আর্কিটেকচার

আবাবিল স্টুডিও একটি হাইব্রিড আর্কিটেকচার ব্যবহার করে যেখানে Rust নেটিভ লাইব্রেরি HTTP রিকোয়েস্ট এক্সিকিউশন পরিচালনা করে:

┌─────────────────────────────────────────────────────────┐
│                    React Renderer                        │
│  ┌─────────────────────────────────────────────────┐   │
│  │  App.tsx (UI)                                    │   │
│  │    └── httpClient.ts (Service)                   │   │
│  │          └── window.ababilAPI.makeHttpRequest()  │   │
│  └─────────────────────────────────────────────────┘   │
└───────────────────────────┬─────────────────────────────┘
                            │ IPC (contextBridge)
┌───────────────────────────▼─────────────────────────────┐
│                    preload.js                            │
│    Exposes: ababilAPI.makeHttpRequest()                  │
│    Exposes: ababilAPI.getNativeLibraryStatus()           │
└───────────────────────────┬─────────────────────────────┘
                            │ ipcRenderer.invoke
┌───────────────────────────▼─────────────────────────────┐
│                    main.js (Electron Main)               │
│  ┌─────────────────────────────────────────────────┐   │
│  │  koffi.load('libababil_core.dylib')              │   │
│  │    └── make_http_request(json) → json            │   │
│  │    └── free_string(ptr)                          │   │
│  └─────────────────────────────────────────────────┘   │
└───────────────────────────┬─────────────────────────────┘
                            │ FFI (koffi)
┌───────────────────────────▼─────────────────────────────┐
│              libababil_core.dylib (Rust)                 │
│    - make_http_request() → executes HTTP via reqwest     │
│    - free_string() → memory cleanup                      │
└─────────────────────────────────────────────────────────┘

ডেটা ফ্লো

  1. UI → Rust: React UI থেকে JSON রিকোয়েস্ট IPC এর মাধ্যমে Electron Main প্রসেসে যায়
  2. Main → Native: koffi FFI ব্যবহার করে Rust লাইব্রেরি কল করা হয়
  3. Rust Execution: Rust reqwest ব্যবহার করে HTTP রিকোয়েস্ট এক্সিকিউট করে
  4. Response: JSON রেসপন্স একই পথে UI তে ফিরে আসে

🛠️ প্রযুক্তি স্ট্যাক

মূল প্রযুক্তি

  • Rust: উচ্চ-পারফরম্যান্স HTTP ক্লায়েন্ট এবং রিকোয়েস্ট প্রসেসিং
  • Electron: ক্রস-প্ল্যাটফর্ম ডেস্কটপ অ্যাপ্লিকেশন ফ্রেমওয়ার্ক
  • React 19: সর্বশেষ ফিচার সহ আধুনিক UI লাইব্রেরি
  • TypeScript: টাইপ-সেফ ডেভেলপমেন্ট
  • Tailwind CSS: ইউটিলিটি-ফার্স্ট স্টাইলিং

UI কম্পোনেন্ট

  • shadcn/ui: উচ্চ-মানের, এক্সেসিবল কম্পোনেন্ট লাইব্রেরি
  • Radix UI: আনস্টাইলড, এক্সেসিবল কম্পোনেন্ট
  • Lucide React: সুন্দর আইকন লাইব্রেরি

ডেভেলপমেন্ট টুলস

  • React Scripts: বিল্ড টুলিং এবং ডেভেলপমেন্ট সার্ভার
  • PostCSS: CSS প্রসেসিং
  • ESLint: কোড কোয়ালিটি এবং কনসিস্টেন্সি

📖 ব্যবহার

আপনার প্রথম রিকোয়েস্ট করুন

  1. আবাবিল স্টুডিও চালু করুন
  2. HTTP মেথড নির্বাচন করুন (GET, POST, ইত্যাদি)
  3. আপনার API এন্ডপয়েন্টের URL লিখুন
  4. প্রয়োজন অনুযায়ী হেডার, প্যারামিটার বা বডি যোগ করুন
  5. Send ক্লিক করুন এবং তাৎক্ষণিকভাবে রেসপন্স দেখুন

কালেকশন তৈরি করা

  1. "New Collection" এ ক্লিক করুন
  2. নাম এবং বিবরণ যোগ করুন
  3. ভবিষ্যতে ব্যবহারের জন্য আপনার রিকোয়েস্ট সংরক্ষণ করুন
  4. এক্সপোর্টের মাধ্যমে আপনার টিমের সাথে শেয়ার করুন

এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার

  1. SettingsEnvironments এ যান
  2. একটি নতুন এনভায়রনমেন্ট তৈরি করুন (Dev, Staging, Production)
  3. আপনার ভেরিয়েবলের জন্য কী-ভ্যালু পেয়ার যোগ করুন
  4. {{variable_name}} সিনট্যাক্স ব্যবহার করে তাদের রেফারেন্স করুন

🤝 অবদান রাখুন

আমরা কমিউনিটি থেকে অবদানকে স্বাগত জানাই! বাগ ফিক্স, নতুন ফিচার, ডকুমেন্টেশন উন্নতি, বা অনুবাদ যাই হোক না কেন, আপনার সাহায্য আবাবিলকে সবার জন্য আরও ভালো করে তোলে।

কিভাবে অবদান রাখবেন

  1. রিপোজিটরি ফর্ক করুন

    gh repo fork AbabilX/Ababil-Studio
  2. একটি ফিচার ব্রাঞ্চ তৈরি করুন

    git checkout -b feature/amazing-feature
  3. আপনার পরিবর্তন করুন এবং কমিট করুন

    git commit -m 'Add some amazing feature'
  4. আপনার ব্রাঞ্চে পুশ করুন

    git push origin feature/amazing-feature
  5. একটি Pull Request খুলুন

ডেভেলপমেন্ট গাইডলাইন

  • বিদ্যমান কোড স্টাইল এবং কনভেনশন অনুসরণ করুন
  • স্পষ্ট, বর্ণনামূলক কমিট মেসেজ লিখুন
  • নতুন ফিচারের জন্য টেস্ট যোগ করুন
  • প্রয়োজন অনুযায়ী ডকুমেন্টেশন আপডেট করুন
  • PR সাবমিট করার আগে সমস্ত টেস্ট পাস নিশ্চিত করুন

🐛 বাগ রিপোর্ট ও ফিচার অনুরোধ

একটি বাগ খুঁজে পেয়েছেন বা নতুন ফিচারের জন্য আইডিয়া আছে? আমরা আপনার কাছ থেকে শুনতে চাই!


📜 লাইসেন্স

এই প্রজেক্টটি MIT লাইসেন্স এর অধীনে লাইসেন্সকৃত - বিস্তারিত জানতে LICENSE ফাইল দেখুন।


🙏 কৃতজ্ঞতা

  • Postman এর চমৎকার API টেস্টিং অভিজ্ঞতা দ্বারা অনুপ্রাণিত
  • আশ্চর্যজনক ওপেন-সোর্স প্রযুক্তি দিয়ে তৈরি
  • সমস্ত অবদানকারী এবং সমর্থকদের প্রতি বিশেষ ধন্যবাদ

🌟 মূল অবদানকারী

  • সামিন সোহাগ - Rust ব্যাকএন্ড আর্কিটেকচার এবং পারফরম্যান্স ইঞ্জিনিয়ারিং

📞 যোগাযোগ ও কমিউনিটি


🗺️ রোডম্যাপ

  • GraphQL সাপোর্ট
  • WebSocket টেস্টিং
  • gRPC সাপোর্ট
  • API মকিং ক্ষমতা
  • স্বয়ংক্রিয় টেস্টিং ওয়ার্কফ্লো
  • টিম কোলাবরেশন ফিচার
  • ক্লাউড সিঙ্ক (ঐচ্ছিক)
  • প্লাগইন সিস্টেম
  • CLI সংস্করণ

About

⚡ High-performance, Rust-powered open-source API development platform. A lightweight, privacy-focused, and blazing-fast alternative to Postman built with React 19, Tailwind CSS, and Electron.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors