এই কুইকস্টার্টে, আপনি একটি ছোট নমুনা ডেটাবেস তৈরি ও স্থাপন করবেন এবং ফ্লাটার ফ্রন্টএন্ড থেকে এটি অ্যাক্সেস করবেন।
পূর্বশর্ত
এই কুইকস্টার্টটি সম্পন্ন করতে আপনার নিম্নলিখিত জিনিসগুলির প্রয়োজন হবে:
- এমন একটি পরিবেশ যেখানে নিম্নলিখিত টুলগুলি ইনস্টল করা আছে:
- আপনার পছন্দের প্যাকেজ ম্যানেজার সহ Node.js। এই টিউটোরিয়ালে
npmব্যবহার করা হয়েছে বলে ধরে নেওয়া হয়েছে। - ফায়ারবেস সিএলআই :
npm i -g firebase-tools@latest - ফ্লাটার কমান্ড লাইন টুল ।
- ফ্লাটারফায়ার সিএলআই
dart pub global activate flutterfire_cli
- আপনার পছন্দের প্যাকেজ ম্যানেজার সহ Node.js। এই টিউটোরিয়ালে
- একটি গুগল অ্যাকাউন্ট।
টিউটোরিয়াল
| টিউটোরিয়াল | |
|---|---|
১. আপনার প্রকল্পটি শুরু করুনএকটি নতুন ডিরেক্টরি তৈরি করুন এবং এর মধ্যে একটি ফায়ারবেস প্রজেক্ট চালু করুন। অনুরোধ করা হলে, নিম্নলিখিত বিকল্পগুলি বেছে নিন:
|
|
২. উদাহরণস্বরূপ GraphQL সংজ্ঞাগুলো পর্যালোচনা করুনSQL 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 ডেফিনিশন ব্যবহার করে বিশেষভাবে আপনার ডাটাবেসের জন্য একটি ডার্ট লাইব্রেরি তৈরি করে। আপনার ক্লায়েন্ট অ্যাপে সমস্ত ডাটাবেস অপারেশন সম্পাদন করতে আপনি এই লাইব্রেরিটি ব্যবহার করেন। | class ExampleConnector { ListMoviesVariablesBuilder listMovies() { return ListMoviesVariablesBuilder(dataConnect); } // ... } |
৬. একটি ফ্লাটার অ্যাপ তৈরি করুনআপনার ফায়ারবেস প্রজেক্ট ব্যবহার করার জন্য ফ্লাটার অ্যাপটি সেট আপ করতে এই কমান্ডগুলো চালান। |
|
৭. একটি নমুনা ফ্লাটার ক্লায়েন্ট লিখুন লক্ষ্য করুন যে, অ্যাপটি তৈরি করা SDK-এর একটি ফাংশন ব্যবহার করে প্রয়োজনীয় ডাটাবেস অ্যাক্সেস সম্পন্ন করে। | import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_data_connect/firebase_data_connect.dart'; import 'package:flutter/material.dart'; import 'package:flutter_app/dataconnect_generated/generated.dart'; import 'package:flutter_app/firebase_options.dart'; class MyApp extends StatelessWidget { late final Future<QueryResult<ListMoviesData, void>> _movieListFuture; MyApp({super.key}) { _movieListFuture = ExampleConnector.instance .listMovies() .execute(); } @override Widget build(BuildContext context) { return MaterialApp( home: FutureBuilder( future: _movieListFuture, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { return ListView.builder( scrollDirection: Axis.vertical, itemBuilder: (context, index) => Card( child: Text( snapshot.data?.data.movies[index].title ?? "", ), ), itemCount: snapshot.data?.data.movies.length ?? 0, ); } return const CircularProgressIndicator(); }, ), ); } } Future<void> main() async { await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); runApp(MyApp()); } |
৮. অ্যাপটি ব্যবহার করে দেখুনউদাহরণ অ্যাপটি বাস্তবে দেখতে ডেভেলপমেন্ট সার্ভারটি চালু করুন। | |
পরবর্তী পদক্ষেপ
SQL Connect VS Code এক্সটেনশনটি ব্যবহার করে দেখুন
SQL Connect ব্যবহার করে ডেভেলপ করার সময়, আমরা SQL Connect VS Code এক্সটেনশনটি ব্যবহার করার জন্য জোরালোভাবে সুপারিশ করি। এমনকি যদি আপনি আপনার প্রধান ডেভেলপমেন্ট এনভায়রনমেন্ট হিসেবে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার নাও করেন, তবুও এই এক্সটেনশনটি এমন বেশ কিছু ফিচার প্রদান করে যা স্কিমা এবং অপারেশন ডেভেলপমেন্টকে আরও সুবিধাজনক করে তোলে:
- একটি GraphQL ল্যাঙ্গুয়েজ সার্ভার, যা SQL Connect জন্য নির্দিষ্ট সিনট্যাক্স চেকিং এবং অটোকমপ্লিট সাজেশন প্রদান করে।
- আপনার কোডের সাথে সংযুক্ত কোডলেন্স বাটন, যা আপনাকে আপনার স্কিমা ডেফিনিশন ফাইল থেকে ডেটা পড়তে ও লিখতে এবং আপনার অপারেশন ডেফিনিশন থেকে কোয়েরি ও মিউটেশন সম্পাদন করতে দেয়।
- আপনার তৈরি করা SDK-গুলোকে আপনার GraphQL ডেফিনিশনগুলোর সাথে স্বয়ংক্রিয়ভাবে সিঙ্ক্রোনাইজ করে রাখুন।
- সরলীকৃত স্থানীয় এমুলেটর সেটআপ।
- প্রোডাকশনে স্থাপন প্রক্রিয়া সহজতর।
স্থানীয় ডেভেলপমেন্টের জন্য SQL Connect এমুলেটর ব্যবহার করুন
যদিও এই টিউটোরিয়ালটি আপনাকে দেখিয়েছে কিভাবে সরাসরি প্রোডাকশনে SQL Connect স্কিমা এবং অপারেশন ডেপ্লয় করতে হয়, আপনি সম্ভবত আপনার অ্যাপটি সক্রিয়ভাবে ডেভেলপ করার সময় আপনার প্রোডাকশন ডেটাবেসে কোনো পরিবর্তন করতে চাইবেন না। এর পরিবর্তে, SQL Connect এমুলেটর সেট আপ করুন এবং প্রোডাকশনের বদলে সেটির উপর আপনার ডেভেলপমেন্টের কাজ করুন। এমুলেটরটি একটি লোকাল PGlite ইনস্ট্যান্স তৈরি করে যা CloudSQL-এর একটি লাইভ Postgres ইনস্ট্যান্সের মতোই আচরণ করে।
আপনার অ্যাপের জন্য স্কিমা এবং অপারেশন কীভাবে লিখতে হয় তা শিখুন।
SQL Connect ব্যবহার করে অ্যাপ তৈরি করার সময়, আপনার স্কিমা এবং অপারেশনগুলির ডিজাইন করা হলো প্রথম এবং সবচেয়ে গুরুত্বপূর্ণ ডেভেলপমেন্ট কাজগুলোর মধ্যে একটি যা আপনাকে সম্পন্ন করতে হবে।
- ফায়ারবেস কনসোলের জেমিনি হলো একটি এআই টুল যা আপনার অ্যাপের স্বাভাবিক ভাষার বর্ণনা থেকে SQL Connect স্কিমা তৈরি করতে পারে। এই টুলটি আপনাকে খুব দ্রুত কাজ শুরু করতে সাহায্য করতে পারে, বিশেষ করে যদি আপনি আগে কখনো রিলেশনাল ডেটাবেস নিয়ে কাজ না করে থাকেন।
- বিকল্পভাবে, আপনি সরাসরি GraphQL ব্যবহার করে ডাটাবেস স্কিমা, কোয়েরি এবং মিউটেশন লিখতে পারেন। অপারেশন কীভাবে লিখতে হয় তা শিখতে 'Design SQL Connect schemas' পৃষ্ঠাটি থেকে শুরু করুন এবং পরবর্তী পৃষ্ঠাগুলিতে যান।