Node.js এবং NPM/Yarn এর ভূমিকা
Node.js হল একটি জাভাস্ক্রিপ্ট রানটাইম যা সার্ভার সাইড অ্যাপ্লিকেশন তৈরির জন্য ব্যবহৃত হয়। এটি গুগলের V8 JavaScript Engine ব্যবহার করে এবং সার্ভার সাইডে JavaScript কোড চালানোর সুবিধা প্রদান করে।
NPM (Node Package Manager) হল একটি প্যাকেজ ম্যানেজার যা Node.js এর জন্য ব্যবহৃত হয়। এটি Node.js প্রোজেক্টে প্রয়োজনীয় লাইব্রেরি এবং প্যাকেজ ইনস্টল এবং ম্যানেজ করতে সাহায্য করে। Yarn হল NPM-এর একটি বিকল্প যা দ্রুত এবং নির্ভরযোগ্য প্যাকেজ ম্যানেজমেন্ট প্রদান করে।
TypeORM হল একটি জনপ্রিয় ORM (Object-Relational Mapping) লাইব্রেরি যা TypeScript এবং JavaScript এর জন্য ডেটাবেস ম্যানেজমেন্ট সুবিধা প্রদান করে। TypeORM ব্যবহার করতে হলে, প্রথমে আপনার সিস্টেমে Node.js, NPM বা Yarn ইনস্টল করা থাকতে হবে। নিচে Node.js এবং NPM/Yarn ইনস্টল করার প্রক্রিয়া দেওয়া হলো।
১. Node.js ইনস্টলেশন
Node.js ইনস্টল করার জন্য নিচের পদক্ষেপগুলো অনুসরণ করুন:
Windows/MacOS/Linux এ Node.js ইনস্টল করা:
- Node.js অফিসিয়াল ওয়েবসাইটে যান:
- LTS ভার্সন নির্বাচন করুন:
- সাইটে দুইটি ভার্সন দেখাবে: LTS (Long Term Support) এবং Current। আপনি LTS ভার্সনটি নির্বাচন করুন, কারণ এটি আরও স্থিতিশীল এবং দীর্ঘমেয়াদী সমর্থন পাবে।
- ডাউনলোড এবং ইনস্টল করুন:
- ইনস্টলেশন ফাইল ডাউনলোড করার পর সেটি রান করুন এবং ইনস্টলেশন প্রক্রিয়া অনুসরণ করুন।
ইনস্টলেশন যাচাই: ইনস্টলেশনের পর, টার্মিনাল বা কমান্ড প্রম্পটে নিচের কমান্ডটি ব্যবহার করে Node.js এবং NPM ইনস্টলেশনের স্ট্যাটাস চেক করুন:
node -v npm -vএর মাধ্যমে আপনি Node.js এবং NPM এর ভার্সন দেখতে পাবেন, যা নিশ্চিত করবে যে ইনস্টলেশন সঠিকভাবে সম্পন্ন হয়েছে।
২. Yarn ইনস্টলেশন (অপশনাল)
যদি আপনি Yarn ব্যবহার করতে চান, তাহলে NPM-এর বিকল্প হিসেবে এটি ইনস্টল করতে পারেন। Yarn বেশি দ্রুত এবং নির্ভরযোগ্য প্যাকেজ ম্যানেজমেন্ট প্রদান করে।
Yarn ইনস্টল করা:
- Yarn অফিসিয়াল ওয়েবসাইটে যান:
- ডকুমেন্টেশন অনুসরণ করুন:
এখানে ইনস্টলেশনের জন্য বেশ কিছু বিকল্প দেয়া আছে। আপনি npm ব্যবহার করে Yarn ইনস্টল করতে পারেন:
npm install -g yarn
- ইনস্টলেশন যাচাই:
Yarn ইনস্টলেশনের পর, কমান্ড প্রম্পট বা টার্মিনালে নিচের কমান্ডটি ব্যবহার করে Yarn এর ভার্সন চেক করুন:
yarn -v
৩. TypeORM ইনস্টলেশন এবং সেটআপ
একবার Node.js এবং NPM/Yarn ইনস্টল হয়ে গেলে, আপনি TypeORM ইনস্টল করতে প্রস্তুত। TypeORM একটি শক্তিশালী ORM (Object-Relational Mapper) যা JavaScript/TypeScript দিয়ে ডেটাবেস ম্যানেজমেন্ট সহজ করে দেয়।
TypeORM ইনস্টলেশন:
NPM ব্যবহার করে TypeORM ইনস্টল করা:
npm install typeorm reflect-metadata mysql2typeorm: TypeORM লাইব্রেরি ইনস্টল করা হয়।reflect-metadata: TypeORM এর জন্য মেটাডেটা ব্যবহারের জন্য প্রয়োজনীয় প্যাকেজ।mysql2: আপনি যদি MySQL ব্যবহার করতে চান, তবে এই ড্রাইভারটি ইনস্টল করতে হবে। অন্য ডেটাবেস ব্যবহার করতে চাইলে, যথাযথ ড্রাইভার ইনস্টল করুন (যেমন PostgreSQL এর জন্যpgইত্যাদি)।
Yarn ব্যবহার করে TypeORM ইনস্টল করা:
yarn add typeorm reflect-metadata mysql2
৪. TypeORM এর সাথে ডেটাবেস কনফিগারেশন
TypeORM ব্যবহারের জন্য আপনাকে ডেটাবেস কনফিগারেশন সেটআপ করতে হবে। এখানে MySQL ব্যবহার করার উদাহরণ দেওয়া হলো:
- TypeORM কনফিগারেশন ফাইল তৈরি করুন (এটি সাধারণত
ormconfig.jsonনামে তৈরি করা হয়):
{
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "root",
"password": "your-password",
"database": "test",
"entities": [
"src/entity/**/*.ts"
],
"synchronize": true
}
- Entity ফাইল তৈরি করুন: TypeORM এ entities তৈরি করতে হয় যা ডেটাবেস টেবিলগুলির প্রতিনিধিত্ব করে।
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
age: number;
}
- TypeORM সেটআপ:
import { createConnection } from "typeorm";
import { User } from "./entity/User";
createConnection().then(async connection => {
const userRepository = connection.getRepository(User);
const user = new User();
user.name = "John";
user.age = 25;
await userRepository.save(user);
console.log("User has been saved");
}).catch(error => console.log(error));
সারাংশ
Node.js এবং NPM/Yarn হল TypeORM ব্যবহার করার জন্য প্রাথমিক পদক্ষেপ। Node.js ইনস্টল করার পর, আপনি TypeORM ইনস্টল করে ডেটাবেস সংযোগ করতে পারেন। Yarn বা NPM এর মাধ্যমে প্যাকেজ ম্যানেজমেন্টের সুবিধা পাওয়া যায়, এবং TypeORM ডেটাবেস ম্যানেজমেন্ট খুবই সহজ এবং কার্যকরীভাবে করে তোলে। TypeORM এর সাথে কাজ করার জন্য আপনার Entity, Repository, এবং Database Configuration সঠিকভাবে সেটআপ করা প্রয়োজন।
Read more