Skip to content

Dev Machines

বিল্ড ও টেস্টিংয়ের জন্য আলাদা development environment। Proyecta Cloud-চালিত পূর্ণ Linux পরিবেশ।

Proyecta প্রতিটি প্রজেক্টের জন্য একটি নিবেদিত development machine (runtime) তৈরি করে। এটি একটি আলাদা container যেখানে পূর্ণ Linux পরিবেশ রয়েছে এবং development চলাকালীন তোমার অ্যাপ এখানেই চলে।

Dev machine কীভাবে কাজ করে?

Section titled “Dev machine কীভাবে কাজ করে?”

যখন তুমি কোনো প্রজেক্ট খোলো, Proyecta:

  1. ক্লাউডে একটি আলাদা container (pod) তৈরি করে
  2. GitHub থেকে তোমার কোড clone করে
  3. dependency ইনস্টল করে এবং পরিবেশ সেট আপ করে
  4. তোমার অ্যাপের development server চালু করে
  5. builder-এ একটি live preview দেখায়

toolbar-এর নিচে Runtime Status Bar-এ provisioning-এর অগ্রগতি দেখতে পাবে।

স্টার্টআপের সময় status bar-এ এই ধাপগুলো দেখা যায়:

ধাপবিবরণ
Creating podআলাদা container চালু করা হচ্ছে
Health checkcontainer সঠিকভাবে চলছে কি না যাচাই করা হচ্ছে
Git initতোমার repository clone করা হচ্ছে
Environment setupdependency ইনস্টল করা হচ্ছে (npm, pip ইত্যাদি)
Starting servicesতোমার অ্যাপ ও infrastructure চালু করা হচ্ছে
Readyতোমার dev machine সম্পূর্ণ সক্রিয়

আমার dev machine-এ সমস্যা হচ্ছে। কীভাবে ঠিক করব?

Section titled “আমার dev machine-এ সমস্যা হচ্ছে। কীভাবে ঠিক করব?”

যদি preview লোড না হয় বা machine আটকে থাকে বলে মনে হয়:

  1. ত্রুটি বার্তার জন্য Runtime Status Bar দেখো
  2. লগ পরীক্ষা করতে Terminal ব্যবহার করে দেখো
  3. সব কিছু ব্যর্থ হলে AI-কে সমস্যা debug করতে সাহায্য করতে বলো

তোমার dev machine-এ ডেটাবেজ ও সার্ভিসের জন্য sidecar container থাকতে পারে:

  • PostgreSQL — Relational database (port 5432)
  • PostGIS — geospatial extension-সহ PostgreSQL (port 5432)
  • Redis — In-memory cache (port 6379)
  • MongoDB — Document database (port 27017)
  • MySQL — Relational database (port 3306)
  • MailHog — web UI-সহ ইমেইল টেস্টিং সার্ভার (SMTP port 1025, UI port 8025)

Services প্যানেলে চলমান সার্ভিস ও তাদের অবস্থা দেখো।

Dev machine-গুলো এই lifecycle অবস্থার মধ্য দিয়ে যায়:

অবস্থাবিবরণ
Pendingতৈরির অপেক্ষায় আছে
Initializingপরিবেশ সেট আপ করা হচ্ছে
Runningসক্রিয় ও সুস্থ অবস্থায় চলছে
Suspendedসম্পদ সাশ্রয়ের জন্য বিরতি দেওয়া হয়েছে (দ্রুত পুনরায় চালু হয়)
Archivedcold storage-এ সংরক্ষিত (পুনরুদ্ধারে বেশি সময় লাগে)
Restoringarchived storage থেকে পুনরুদ্ধার করা হচ্ছে
FailedProvisioning বা অপারেশন ব্যর্থ হয়েছে — machine পুনরায় provision করা যাবে
Terminatedস্থায়ীভাবে বন্ধ করা হয়েছে

নিষ্ক্রিয় থাকলে ৬০ মিনিট পর machine স্বয়ংক্রিয়ভাবে suspend হয় এবং ২৪ ঘণ্টা suspend থাকলে archive হয়ে যায়।

Dev machine বন্ধ হয়ে গেলে আমার published অ্যাপের কী হবে?

তোমার অ্যাপের backend (Convex serverless functions ও database) Convex-এর নিজস্ব ক্লাউড infrastructure-এ চলে এবং dev machine-এর অবস্থা নির্বিশেষে সচল থাকে। তবে তোমার অ্যাপের frontend ফাইলগুলো dev machine থেকে serve হয় — machine suspend বা archive হলে, machine আবার চালু না হওয়া পর্যন্ত ভিজিটররা 503 error দেখবে। যেসব অ্যাপ সর্বদা সর্বসাধারণের জন্য অ্যাক্সেসযোগ্য রাখতে চাও, সেগুলোর ক্ষেত্রে এটি মাথায় রেখো; machine resume করলে সাইটটি আবার চালু হয়ে যাবে।

আরও দ্রুত dev machine পাওয়া কি সম্ভব?

বর্তমানে সব dev machine একই resource allocation নিয়ে চলে। কোনো বড় প্রজেক্টের জন্য বেশি capacity দরকার হলে সাপোর্টে যোগাযোগ করো।

সরাসরি dev machine অ্যাক্সেস করা কি সম্ভব?

হ্যাঁ। তোমার development পরিবেশে সম্পূর্ণ shell অ্যাক্সেসের জন্য built-in Terminal ব্যবহার করো।