প্রকল্প সম্পর্কে
Create Go App CLI (cgapp) হলো একটি কমান্ড-লাইন টুল যা Go ব্যাকএন্ড, JavaScript বা TypeScript ফ্রন্টএন্ড এবং ডেপ্লয়মেন্ট অটোমেশনের সমন্বয়ে নতুন প্রজেক্ট তৈরি করার জন্য ব্যবহৃত হয়। এর লক্ষ্য হলো প্রজেক্ট স্কাফোল্ডিং এবং ডেপ্লয়মেন্ট সেটআপের ঝামেলা কমিয়ে ডেভেলপারদের অ্যাপ্লিকেশন কোড এবং বিজনেস লজিকের ওপর মনোনিবেশ করতে সাহায্য করা।
ইনস্টলেশন বিকল্পগুলোর মধ্যে রয়েছে:
- go install github.com/create-go-app/cli/v4/cmd/cgapp@latest (Go 1.21 বা তার বেশি প্রয়োজন)
- Homebrew (brew tap create-go-app/tap; brew install create-go-app/tap/cgapp)
- রিলিজ পেজ থেকে প্রি-বিল্ট deb, rpm, apk, অথবা Arch Linux প্যাকেজ
- বিচ্ছিন্ন ব্যবহারের জন্য একটি Docker ইমেজ (এই ইমেজে deploy কমান্ডটি উপলব্ধ নয়)
প্রধান কমান্ডসমূহ:
- cgapp create [OPTION]: একটি ইন্টারঅ্যাক্টিভ কনসোল UI-এর মাধ্যমে নতুন প্রজেক্ট তৈরি করে। -t অপশনটি কাস্টম ব্যাকএন্ড এবং ফ্রন্টএন্ড টেমপ্লেট সক্ষম করে।
- cgapp deploy [OPTION]: Ansible-এর মাধ্যমে রিমোট সার্ভারে Docker কন্টেইনার ডেপ্লয় করে। এর জন্য লোকাল মেশিনে Python 3.8+ এবং Ansible 2.9+ প্রয়োজন। -k অপশনটি রিমোট ইউজারের sudo পাসওয়ার্ড জানতে চায়।
ব্যাকএন্ড টেমপ্লেটসমূহ:
- net/http: CRUD এবং JWT auth সহ সাধারণ REST API
- Fiber: রিনিউ টোকেনসহ JWT auth, DB এবং ক্যাশ সহ জটিল REST API
- go-chi: হেলথ চেক সহ মৌলিক অ্যাপ্লিকেশন
ফ্রন্টএন্ড টেমপ্লেটসমূহ:
ফ্রন্টএন্ডটি Vite.js দিয়ে তৈরি করা হয়, তাই এটি React, Preact, Vue, Svelte, Solid, Lit, Qwik অথবা বিশুদ্ধ JavaScript/TypeScript-এর বর্তমান সংস্করণগুলো ব্যবহার করতে পারে। Next.js এবং Nuxt-এর জন্য create-next-app এবং nuxi ব্যবহার করা হয়। react, react-swc, preact, vue, svelte, solid, lit, qwik, vanilla, next, nuxt, এবং sveltekit-এর জন্য JavaScript এবং TypeScript ভেরিয়েন্ট উপলব্ধ। ফ্রন্টএন্ড তৈরির জন্য npm ভার্সন 7 বা তার বেশি প্রয়োজন।
প্রি-কনফিগারড Ansible রোলসমূহ:
- ওয়েব/প্রক্সি সার্ভার: Traefik (traefik, traefik-acme-dns) এবং Nginx (nginx)। Let's Encrypt থেকে স্বয়ংক্রিয় SSL সার্টিফিকেট এবং একটি Web UI-এর জন্য v2.0.0 থেকে Traefik সুপারিশ করা হয়েছে।
- ডাটাবেস: PostgreSQL (postgres), যেখানে ব্যাকএন্ড মাইগ্রেশন প্রয়োগ করা হয়।
- ক্যাশ: ব্যাকএন্ড ব্যবহারের জন্য Redis (redis)।
প্রজেক্ট ডকুমেন্টেশন, FAQ, আলোচনা এবং ইস্যুগুলো GitHub উইকি এবং রিপোজিটরির মাধ্যমে পাওয়া যাবে। প্রজেক্টটি Apache 2.0 লাইসেন্সের অধীনে প্রকাশিত।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.