এই কুইকস্টার্টে, আপনি একটি ছোট নমুনা ডেটাবেস তৈরি ও স্থাপন করবেন এবং একটি রিয়্যাক্ট ফ্রন্টএন্ড থেকে এটি অ্যাক্সেস করবেন।
পূর্বশর্ত
এই কুইকস্টার্টটি সম্পন্ন করতে আপনার নিম্নলিখিত জিনিসগুলির প্রয়োজন হবে:
- NPM সহ একটি Node.js পরিবেশ।
- একটি গুগল অ্যাকাউন্ট।
টিউটোরিয়াল
| টিউটোরিয়াল | |
|---|---|
১. আপনার প্রকল্পটি শুরু করুনএকটি নতুন ডিরেক্টরি তৈরি করুন এবং এর মধ্যে একটি ফায়ারবেস প্রজেক্ট চালু করুন। অনুরোধ করা হলে, নিম্নলিখিত বিকল্পগুলি বেছে নিন:
|
|
২. উদাহরণস্বরূপ GraphQL সংজ্ঞাগুলো পর্যালোচনা করুনData Connect এ, আপনি GraphQL ব্যবহার করে আপনার সমস্ত ডাটাবেস স্কিমা এবং অপারেশন সংজ্ঞায়িত করেন। আপনি যখন আপনার প্রজেক্টটি ইনিশিয়ালাইজ করেছিলেন, তখন Firebase CLI আপনাকে কাজ শুরু করার জন্য কিছু উদাহরণ ডেফিনিশন তৈরি করে দিয়েছিল। | dataconnect/schema/schema.gql (উদ্ধৃতি)type Movie @table { title: String! imageUrl: String! genre: String } type MovieMetadata @table { movie: Movie! @unique rating: Float releaseYear: Int description: String } query ListMovies @auth(level: PUBLIC) { movies { id title imageUrl genre } } |
৩. আপনার স্কিমা এবং অপারেশনগুলো স্থাপন করুনযখনই আপনি আপনার ডাটাবেস স্কিমা, কোয়েরি বা মিউটেশনে কোনো পরিবর্তন করেন, ডাটাবেসে সেই পরিবর্তনগুলো কার্যকর হওয়ার জন্য আপনাকে অবশ্যই সেগুলো ডিপ্লয় করতে হবে। | |
৪. নমুনা ডেটা দিয়ে ডেটাবেসটি তৈরি করুন।এই সিড ডেটা আপনাকে স্যাম্পল অ্যাপটি পরীক্ষা করার সময় দেখার জন্য একটি ভিত্তি দেবে। উল্লেখ্য যে, এই ধাপে আপনি যথেচ্ছভাবে GraphQL এক্সিকিউট করছেন, যা প্রশাসনিক কাজের জন্য অনুমোদিত। | |
৫. একটি জাভাস্ক্রিপ্ট ক্লায়েন্ট SDK তৈরি করুনএই কমান্ডটি আপনার GraphQL ডেফিনিশন ব্যবহার করে আপনার ডাটাবেসের জন্য বিশেষভাবে একটি জাভাস্ক্রিপ্ট লাইব্রেরি তৈরি করে, যা টাইপ ডেফিনিশনসহ সম্পূর্ণ থাকে। আপনি আপনার ক্লায়েন্ট অ্যাপে সমস্ত ডাটাবেস অপারেশন সম্পাদন করতে এই লাইব্রেরিটি ব্যবহার করেন। | export interface ListMoviesData { movies: ({ id: UUIDString; title: string; imageUrl: string; genre?: string | null; } & Movie_Key)[]; } export function useListMovies( options?: useDataConnectQueryOptions&<ListMoviesData> ): UseDataConnectQueryResult&<ListMoviesData, undefined>; |
৬. একটি ওয়েব অ্যাপ তৈরি করুনআপনার ফায়ারবেস প্রজেক্টে একটি নতুন ওয়েব অ্যাপ যোগ করতে এই কমান্ডগুলো চালান। |
|
৭. একটি নমুনা রিয়্যাক্ট ক্লায়েন্ট লিখুন। লক্ষ্য করুন যে, অ্যাপটি জেনারেটেড SDK-এর একটি ফাংশন ব্যবহার করে প্রয়োজনীয় ডাটাবেস অ্যাক্সেস সম্পন্ন করে। React-এর জন্য জেনারেটেড SDK-টি স্টেট ম্যানেজমেন্ট পরিচালনার জন্য TanStack Query ব্যবহার করে। | import { initializeApp } from 'firebase/app'; import firebaseConfig from './firebase-config.json'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { useListMovies } from '@dataconnect/generated/react'; import './App.css'; const app = initializeApp(firebaseConfig); const queryClient = new QueryClient(); function App() { return ( <QueryClientProvider client={queryClient}> <Movies /> </QueryClientProvider> ); } function Movies() { const { isLoading, data } = useListMovies(); if (isLoading) { return <h1>...</h1> } return ( <> {data?.movies.map( movie => <h1 key={movie.id}>{movie.title}</h1> )} </> ); } export default App; |
৮. ওয়েব অ্যাপটি ব্যবহার করে দেখুনউদাহরণ অ্যাপটি বাস্তবে দেখতে ডেভেলপমেন্ট সার্ভারটি চালু করুন। | |
পরবর্তী পদক্ষেপ
Data Connect VS Code এক্সটেনশনটি ব্যবহার করে দেখুন
Data Connect ব্যবহার করে ডেভেলপ করার সময়, আমরা Data Connect VS Code এক্সটেনশনটি ব্যবহার করার জন্য জোরালোভাবে সুপারিশ করি। এমনকি যদি আপনি আপনার প্রধান ডেভেলপমেন্ট এনভায়রনমেন্ট হিসেবে Visual Studio Code ব্যবহার নাও করেন, তবুও এই এক্সটেনশনটি এমন কিছু ফিচার প্রদান করে যা স্কিমা এবং অপারেশন ডেভেলপমেন্টকে আরও সুবিধাজনক করে তোলে:
- একটি GraphQL ল্যাঙ্গুয়েজ সার্ভার, যা Data Connect জন্য নির্দিষ্ট সিনট্যাক্স চেকিং এবং অটোকমপ্লিট সাজেশন প্রদান করে।
- আপনার কোডের সাথে সংযুক্ত কোডলেন্স বাটন, যা আপনাকে আপনার স্কিমা ডেফিনিশন ফাইল থেকে ডেটা পড়তে ও লিখতে এবং আপনার অপারেশন ডেফিনিশন থেকে কোয়েরি ও মিউটেশন সম্পাদন করতে দেয়।
- আপনার তৈরি করা SDK-গুলোকে আপনার GraphQL ডেফিনিশনগুলোর সাথে স্বয়ংক্রিয়ভাবে সিঙ্ক্রোনাইজ করে রাখুন।
- সরলীকৃত স্থানীয় এমুলেটর সেটআপ।
- প্রোডাকশনে স্থাপন প্রক্রিয়া সহজতর।
স্থানীয় উন্নয়নের জন্য Data Connect এমুলেটর ব্যবহার করুন
যদিও এই টিউটোরিয়ালটি আপনাকে দেখিয়েছে কিভাবে Data Connect স্কিমা এবং অপারেশন সরাসরি প্রোডাকশনে ডেপ্লয় করতে হয়, আপনি সম্ভবত আপনার অ্যাপ ডেভেলপ করার সময় প্রোডাকশন ডেটাবেসে কোনো পরিবর্তন করতে চাইবেন না। এর পরিবর্তে, Data Connect এমুলেটর সেট আপ করুন এবং প্রোডাকশনের বদলে সেটির উপর আপনার ডেভেলপমেন্টের কাজ করুন। এমুলেটরটি একটি লোকাল PGlite ইনস্ট্যান্স তৈরি করে, যা CloudSQL-এর একটি লাইভ Postgres ইনস্ট্যান্সের মতোই আচরণ করে।
আপনার অ্যাপের জন্য স্কিমা ও অপারেশন কীভাবে লিখতে হয় তা শিখুন।
Data Connect ব্যবহার করে অ্যাপ তৈরি করার সময়, আপনার স্কিমা ও অপারেশনগুলোর ডিজাইন করা হলো প্রথম এবং সবচেয়ে গুরুত্বপূর্ণ ডেভেলপমেন্ট কাজগুলোর মধ্যে একটি যা আপনাকে সম্পন্ন করতে হবে।
- ফায়ারবেস কনসোলের জেমিনি হলো একটি এআই টুল যা আপনার অ্যাপের স্বাভাবিক ভাষার বিবরণ থেকে Data Connect স্কিমা তৈরি করতে পারে। এই টুলটি আপনাকে খুব দ্রুত কাজ শুরু করতে সাহায্য করতে পারে, বিশেষ করে যদি আপনি আগে কখনো রিলেশনাল ডেটাবেস নিয়ে কাজ না করে থাকেন।
- বিকল্পভাবে, আপনি সরাসরি GraphQL ব্যবহার করে ডাটাবেস স্কিমা, কোয়েরি এবং মিউটেশন লিখতে পারেন। অপারেশন কীভাবে লিখতে হয় তা শিখতে, 'ডিজাইন Data Connect স্কিমা' পৃষ্ঠাটি থেকে শুরু করুন এবং পরবর্তী পৃষ্ঠাগুলিতে যান।