Capstone বানানো শেষ - কিন্তু নিজের machine-এ চলা আর সবার জন্য চালু থাকা এক কথা নয়। আজকের দিনটা সেই শেষ সেতুটা: কিছুটা test, যাতে ভবিষ্যতে কোড বদলালে পুরনোটা ভাঙল কিনা জানা যায়; আর deployment-এর শৃঙ্খলা, যাতে চালু করার সময় শেষ মুহূর্তের তাড়াহুড়া না হয়।
Testing - ন্যূনতম যা না হলেই নয়
সবকিছু test করতে হবে না। শুরু করুন সবচেয়ে মূল্যবান জায়গা দিয়ে - যেখানে হিসাব আর নিয়ম থাকে: দাম গণনা, status বদলের শৃঙ্খলা, validation। এই যুক্তি-ভিত্তিক (logic) অংশগুলো test করা সহজ, কারণ database ছাড়াই শুধু input-output মেলানো যায়।
// Vitest দিয়ে একটা ছোট্ট unit test
import { describe, it, expect } from "vitest";
describe("calculateTotal", () => {
it("items-এর দাম আর delivery charge যোগ করে", () => {
const total = calculateTotal(
[{ price: 220, qty: 2 }, { price: 60, qty: 1 }],
60 // delivery charge
);
expect(total).toBe(560);
});
});Environment variable আর production checklist
Database-এর ঠিকানা, JWT secret, API key - এগুলো কোডে নয়, environment variable-এ থাকে, পরিবেশ অনুযায়ী বদলায়। .env file কখনো Git-এ তুলবেন না; বদলে .env.example রাখুন, যেখানে শুধু নামগুলো আছে, মান নয়। Deploy-এর আগে এই তালিকাটা ধরে যান:
- সব secret environment variable-এ, কোডে একটাও নয়
- Database migration production-এ চালানো হয়েছে
- CORS শুধু আসল frontend domain-এর জন্য, rate limit চালু
- Error যেন user-কে ভিতরের বিবরণ (stack trace) না দেখায়
- Logging চালু - কিছু ভাঙলে খুঁজে পাওয়া যাবে তো?
- Health check endpoint আছে - server বেঁচে আছে কিনা বাইরে থেকে বোঝা যায়
শেষ কাজটা ছোট কিন্তু দামি: একটা ভালো README লিখুন। Project-টা কী, কী কী feature আছে, কীভাবে চালাতে হয়, কোন কোন সিদ্ধান্ত কেন নেওয়া হয়েছে। Interviewer GitHub খুলে প্রথমে README-ই পড়েন - এটাই আপনার project-এর মুখ।
সবাই যে ভুলটা করে
Secret কোডে লিখে GitHub-এ তুলে দেওয়া - একবার উঠলে সেটা ইতিহাসে থেকে যায়, মুছে ফেললেও। আরেকটা ভুল: README ফাঁকা রেখে দেওয়া। দারুণ project-ও বোঝানো না গেলে সাধারণ project-এর সমান মূল্য পায়।
আজকের Practice
Capstone-এর হিসাবের অংশে কমপক্ষে ৩টা unit test লিখুন। উপরের checklist ধরে একবার যাচাই করুন। তারপর README-টা লিখুন - feature, চালানোর নিয়ম, আর সবচেয়ে গুরুত্বপূর্ণ তিনটা সিদ্ধান্তের কারণসহ।
Interview-এ কীভাবে বলবেন
নিজেকে যাচাই করুন: 'আমি মূল logic-গুলোতে unit test রাখি, সব secret environment variable-এ রাখি, আর deploy-এর আগে নির্দিষ্ট checklist ধরে যাই - migration, CORS, rate limit, logging, health check। README-তে সিদ্ধান্তগুলোর কারণও লিখে রাখি।'