Firebase Data Connect দিয়ে শুরু করুন

এই কুইকস্টার্টে, আপনি শিখবেন কিভাবে একটি প্রোডাকশন এসকিউএল ইনস্ট্যান্স সহ আপনার অ্যাপ্লিকেশনে Firebase Data Connect তৈরি করতে হয়।

Firebase কনসোলে আপনি করবেন:

  • আপনার Firebase প্রকল্পে Firebase Data Connect যোগ করুন।
  • Firebase কনসোলে স্কিমা অ্যাসিস্ট ব্যবহার করে একটি অ্যাপের জন্য একটি স্কিমা তৈরি করুন এবং এটি স্থাপন করুন।
  • আপনার অ্যাপের জন্য একটি ক্লাউড SQL দৃষ্টান্ত প্রদান করুন।
  • Gemini Code Assist দিয়ে, নমুনা ডেটা দিয়ে আপনার ডাটাবেস তৈরি করুন।

তারপর, আপনার স্থানীয় উন্নয়ন পরিবেশে, আপনি করবেন:

  • আপনার উত্পাদন উদাহরণের সাথে কাজ করার জন্য একটি ভিজ্যুয়াল স্টুডিও কোড এক্সটেনশন সহ একটি বিকাশ টুলিং সেট আপ করুন৷
  • কনসোলে আপনার তৈরি করা সম্পদের সাথে আপনার স্থানীয় পরিবেশ সিঙ্ক করুন।
  • আপনার অ্যাপে ব্যবহার করা হবে এমন একটি ক্যোয়ারী বাস্তবায়নে সাহায্য করার জন্য এক্সটেনশন টুলিং ব্যবহার করুন।
  • দৃঢ়ভাবে টাইপ করা SDK তৈরি করুন এবং আপনার অ্যাপে ব্যবহার করুন।
  • আপনার চূড়ান্ত স্কিমা, ক্যোয়ারী এবং ডেটা ক্লাউডে স্থাপন করুন

কনসোল প্রবাহ: আপনার স্কিমা ডিজাইন করুন এবং এটি আপনার ডাটাবেসে স্থাপন করুন

  1. যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে একটি Firebase প্রকল্প তৈরি করুন৷
    1. Firebase কনসোলে , প্রজেক্ট যোগ করুন ক্লিক করুন, তারপর অন-স্ক্রীন নির্দেশাবলী অনুসরণ করুন।
  2. Firebase কনসোলের Data Connect বিভাগে নেভিগেট করুন।
  3. Get start with Gemini বোতামে ক্লিক করুন।
  4. প্রদর্শিত স্কিমা জেনারেটর ওয়ার্কফ্লো প্যানেলে, একটি অ্যাপ বর্ণনা করুন যাতে জেমিনি আপনার সাথে একটি GraphQL স্কিমা তৈরি করতে সহায়তা করতে পারে।
  5. GraphQL স্কিমা পর্যালোচনা করুন, তারপর আপগ্রেড এবং স্থাপনে ক্লিক করুন।
  6. আপনার প্রকল্পকে ব্লেজ প্ল্যানে আপগ্রেড করুন। এটি আপনাকে PostgreSQL উদাহরণের জন্য একটি ক্লাউড SQL তৈরি করতে দেয়।

  7. একটি নতুন ক্লাউড এসকিউএল ইনস্ট্যান্স তৈরি করুন নির্বাচন করুন। প্রদর্শিত ডায়ালগে, PostgreSQL ডাটাবেসের জন্য আপনার Cloud SQL-এর জন্য একটি অবস্থান এবং নামকরণ নির্বাচন করুন।

    আপনার অ্যাপ স্কিমা সেই স্কিমার সাথে সম্পর্কিত একটি PostgreSQL ডাটাবেসের সাথে স্থাপন করা হয়েছে।

কনসোল ফ্লো: মিউটেশন তৈরি করতে এবং আপনার ডাটাবেস তৈরি করতে Firebase এ Gemini ব্যবহার করুন

পূর্ববর্তী ধাপটি সম্পূর্ণ করার মাধ্যমে, আপনি প্রাসঙ্গিক সত্তার ধরন সমন্বিত একটি Data Connect স্কিমা তৈরি করেছেন এবং এটিকে উৎপাদনে স্থাপন করেছেন, যার অর্থ সংশ্লিষ্ট সারণী সহ একটি PostgreSQL ডাটাবেস তৈরি ও স্থাপন করা হয়েছে।

আপনার ডাটাবেস পপুলেট করার জন্য, আপনি আপনার সারণীগুলির একটি আপডেট করতে এবং আপনার আপডেট নিশ্চিত করার জন্য একটি ক্যোয়ারী আপডেট করার জন্য একটি গ্রাফকিউএল মিউটেশন সংজ্ঞায়িত করতে আপনার প্রাকৃতিক ভাষা ইনপুটগুলি গ্রহণ করতে সাহায্য করতে Firebase এ Gemini ব্যবহার করতে পারেন।

  1. ডেটা ট্যাব খুলুন।

  2. সাহায্য করুন আমাকে লিখতে GraphQL pen_spark আইকনে ক্লিক করুন এবং প্রদর্শিত বাক্সে আপনার ইনপুট টাইপ করুন।

    যেমন:

    Add data for three sample products to my app.
    
  3. জেনারেট এ ক্লিক করুন। মিউটেশন ফেরত দেওয়া হয়।

  4. আউটপুট পর্যালোচনা করুন। যদি প্রয়োজন হয়, প্রম্পটটি পরিমার্জন করতে সম্পাদনা করুন ক্লিক করুন এবং পুনরায় জেনারেট ক্লিক করুন।

  5. এরপরে, ডেটা এডিটরে মিউটেশন সন্নিবেশ করতে সন্নিবেশ ক্লিক করুন।

  6. রান এ ক্লিক করুন।

যখন আপনি মিউটেশন চালান, ডেটা আপনার PostgreSQL ডাটাবেসের প্রযোজ্য টেবিলে লেখা হয়। আপনি সঞ্চিত ডেটা দেখতে কনসোলে একটি প্রশ্ন তৈরি করতে পারেন:

  1. একটি ক্যোয়ারী তৈরি করতে GraphQL pen_spark লিখতে সাহায্য করুন ব্যবহার করে, পূর্ববর্তী পদক্ষেপগুলি পুনরাবৃত্তি করুন।

  2. প্রদর্শিত বাক্সে, আপনার ইনপুট টাইপ করুন।

    যেমন:

    Query data for all sample products in my app.
    
  3. জেনারেট এ ক্লিক করুন, তারপর রান করুন

স্থানীয় প্রবাহ: ডেভেলপমেন্ট টুলিং বেছে নিন

এখন যেহেতু আপনার স্থাপন করা ডাটাবেসে আপনার ডেটা আছে, আপনি আপনার স্থানীয় উন্নয়ন পরিবেশে আপনার স্কিমা এবং সংযোগকারীগুলির বিকাশ চালিয়ে যেতে পারেন।

প্রথমত, আপনাকে একটি স্থানীয় পরিবেশ সেট আপ করতে হবে। Data Connect আপনাকে ডেভেলপমেন্ট টুল ইনস্টল করার দুটি উপায় অফার করে।

স্থানীয় প্রবাহ: উন্নয়ন পরিবেশ সেট আপ করুন

  1. আপনার স্থানীয় প্রকল্পের জন্য একটি নতুন ডিরেক্টরি তৈরি করুন।
  2. আপনার তৈরি করা নতুন ডিরেক্টরিতে নিম্নলিখিত কমান্ডটি চালান।

      curl -sL https://firebase.tools/dataconnect | bash

    এই স্ক্রিপ্টটি আপনার জন্য ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করার এবং একটি ব্রাউজার-ভিত্তিক IDE চালু করার চেষ্টা করে। এই IDE আপনাকে আপনার স্কিমা পরিচালনা করতে এবং আপনার অ্যাপ্লিকেশনে ব্যবহার করা প্রশ্ন এবং মিউটেশনগুলিকে সংজ্ঞায়িত করতে এবং দৃঢ়ভাবে টাইপ করা SDK তৈরি করতে সাহায্য করার জন্য একটি প্রাক-বান্ডেল করা VS কোড এক্সটেনশন সহ টুলিং প্রদান করে।

alias dataconnect='curl -sL https://firebase.tools/dataconnect | bash'

স্থানীয় প্রবাহ: আপনার প্রকল্প ডিরেক্টরি সেট আপ করুন

আপনার স্থানীয় প্রকল্প সেট আপ করতে, আপনার প্রকল্প ডিরেক্টরি শুরু করুন. IDE উইন্ডোতে, বাম দিকের প্যানেলে, Data Connect VS Code এক্সটেনশন UI খুলতে Firebase আইকনে ক্লিক করুন:

  1. সাইন ইন উইথ গুগল বোতামে ক্লিক করুন।
  2. একটি ফায়ারবেস প্রকল্প সংযুক্ত করুন বোতামে ক্লিক করুন এবং কনসোলে আপনি আগে তৈরি করা প্রকল্পটি নির্বাচন করুন৷
  3. রান ফায়ারবেস ইনিট বোতামে ক্লিক করুন এবং প্রবাহটি সম্পূর্ণ করুন।

  4. স্টার্ট এমুলেটর বোতামে ক্লিক করুন।

স্থানীয় প্রবাহ: স্থানীয় পরিবেশে আপনার স্কিমা খুঁজুন

পূর্ববর্তী বিভাগে firebase init ধাপটি কনসোল থেকে আপনার স্থানীয় উন্নয়ন পরিবেশে স্থাপন করা স্কিমা সিঙ্ক করেছে।

আপনার স্কিমা খুঁজুন: এটি আপনার ফায়ারবেস প্রকল্প ডিরেক্টরিতে /dataconnect/schema/schema.gql ফাইলে অবস্থিত।

স্থানীয় প্রবাহ: আপনার স্কিমার সাথে কাজ করুন

স্কিমার উদাহরণ: মুভি

Data Connect , গ্রাফকিউএল ক্ষেত্রগুলি কলামে ম্যাপ করা হয়। একটি Movie টাইপের সম্ভবত id , title , imageUrl এবং genre থাকতে পারে। Data Connect আদিম ডেটা টাইপ String এবং UUID স্বীকৃতি দেয়।

# File `/dataconnect/schema/schema.gql`

# By default, a UUID id key will be created by default as primary key.
type Movie @table {
  id: UUID! @default(expr: "uuidV4()")
  title: String!
  imageUrl: String!
  genre: String
}

স্কিমা উদাহরণ 1:1 টেবিল: মুভি মেটাডেটা

মুভিগুলির সাথে, আপনি মুভি মেটাডেটা মডেল করতে পারেন।

উদাহরণস্বরূপ, schema.gql এ, আপনি নিম্নলিখিত স্নিপেট যোগ করতে পারেন বা Gemini দ্বারা জেনারেট করা কোড পর্যালোচনা করতে পারেন।

# Movie - MovieMetadata is a one-to-one relationship
type MovieMetadata @table {
  # This time, we omit adding a primary key because
  # you can rely on Data Connect to manage it.

  # @unique indicates a 1-1 relationship
  movie: Movie! @unique
  # movieId: UUID <- this is created by the above reference
  rating: Float
  releaseYear: Int
  description: String
}

লক্ষ্য করুন যে movie ক্ষেত্রটি একটি Movie সাথে ম্যাপ করা হয়েছে। Data Connect বোঝে যে এটি Movie এবং MovieMetadata মধ্যে একটি সম্পর্ক এবং আপনার জন্য এই সম্পর্কটি পরিচালনা করবে।

ডকুমেন্টেশনে ডেটা কানেক্ট স্কিমা সম্পর্কে আরও জানুন

স্থানীয় প্রবাহ: আপনার টেবিলে আরও ডেটা যোগ করুন

IDE এডিটর প্যানেলে, আপনি /dataconnect/schema/schema.gql এ গ্রাফকিউএল প্রকারের উপর কোডলেন্স বোতামগুলি উপস্থিত দেখতে পাবেন। ঠিক যেমন আপনি কনসোলে করেছিলেন, আপনি আপনার উত্পাদন ডাটাবেসে ডেটা যোগ করার জন্য একটি মিউটেশন তৈরি করতে পারেন।

স্থানীয়ভাবে কাজ করা, একটি টেবিলে ডেটা যোগ করতে:

  1. schema.gql এ, আপনার একটি প্রকারের জন্য ঘোষণার উপরে ডেটা যোগ করুন বোতামে ক্লিক করুন (যেমন Movie , Product , Account আপনার অ্যাপের প্রকৃতির উপর নির্ভর করে)।
    ফায়ারবেস ডেটা সংযোগের জন্য কোড লেন্স ডেটা যোগ করার বোতাম
  2. একটি নতুন ফাইল, <type>_insert.qgl , আপনার কাজের ডিরেক্টরিতে যোগ করা হয়েছে, যেমন Movie_insert.gql বা Product_insert.gql । যে ধরনের জন্য ক্ষেত্রের মধ্যে হার্ড কোড তথ্য.
  3. রান (উৎপাদন) বোতামে ক্লিক করুন।
    ফায়ারবেস ডেটা সংযোগের জন্য কোড লেন্স রান বোতাম
  4. অন্যান্য টেবিলে একটি রেকর্ড যোগ করতে পূর্ববর্তী পদক্ষেপগুলি পুনরাবৃত্তি করুন।

দ্রুত তথ্য যাচাই করতে যোগ করা হয়েছে:

  1. schema.gql এ ফিরে, টাইপ ঘোষণার উপরে ডেটা পড়ুন বোতামে ক্লিক করুন।
  2. ফলস্বরূপ <type>_read.gql ফাইলে, যেমন Product_read.gql , ক্যোয়ারী চালানোর জন্য রান (উৎপাদন) বোতামে ক্লিক করুন।

ডকুমেন্টেশনে ডেটা কানেক্ট মিউটেশন সম্পর্কে আরও জানুন

স্থানীয় প্রবাহ: আপনার ক্যোয়ারী সংজ্ঞায়িত করুন

এখন মজার অংশ, প্রশ্ন. একজন ডেভেলপার হিসেবে, আপনি GraphQL কোয়েরির পরিবর্তে SQL ক্যোয়ারী লিখতে অভ্যস্ত, তাই এটি প্রথমে কিছুটা আলাদা মনে হতে পারে। যাইহোক, GraphQL raw SQL এর চেয়ে অনেক বেশি পরিচ্ছন্ন এবং টাইপ-নিরাপদ। এবং আমাদের VS কোড এক্সটেনশন উন্নয়ন অভিজ্ঞতা সহজ করে.

একটি ক্যোয়ারী বাস্তবায়ন করতে, আপনি আমাদের CodeLens এর মাধ্যমে তৈরি করা একটি মানিয়ে নিতে পারেন:

  1. /dataconnect/schema/schema.gql এ, একটি প্রকারের উপরে ( Movie , Product , Account , ইত্যাদি), ডেটা পড়ুন CodeLens বোতামে ক্লিক করুন।
  2. ফলস্বরূপ <type>_read.gql ফাইলে, রান (উৎপাদন) বোতামে ক্লিক করে প্রশ্নটি পরীক্ষা করুন।
  3. কার্যকরী ক্যোয়ারীটি /dataconnect/connector/queries.gql এ কপি করুন।
  4. এই ক্যোয়ারীটি স্থাপনযোগ্য করতে, এটির জন্য একটি অনন্য নাম ঘোষণা করুন।

    উদাহরণস্বরূপ, জেনেরিক উদাহরণে, query_name হতে পারে ListMovies , বা ListProducts , বা ListAccounts

# File `/dataconnect/connector/queries.gql`

# @auth() directives control who can call each operation.
query <query_name> @auth(level: PUBLIC) {
   <table_name> {
     <field_1>
     <field_2>
     <field_3>
  }
}

কাছাকাছি কোডলেন্স বোতাম ব্যবহার করে ক্যোয়ারীটি চালান।

ডকুমেন্টেশনে ডেটা কানেক্ট কোয়েরি সম্পর্কে আরও জানুন

স্থানীয় প্রবাহ: SDK তৈরি করুন

  1. অ্যাপে SDK যোগ করুন বোতামে ক্লিক করুন।
  2. প্রদর্শিত ডায়ালগে, আপনার অ্যাপের জন্য কোড ধারণকারী একটি ডিরেক্টরি নির্বাচন করুন। Data Connect SDK কোড তৈরি হবে এবং সেখানে সেভ করা হবে।

  3. আপনার অ্যাপ প্ল্যাটফর্ম নির্বাচন করুন, তারপর মনে রাখবেন যে আপনার নির্বাচিত ডিরেক্টরিতে SDK কোড অবিলম্বে তৈরি হয়েছে।

স্থানীয় প্রবাহ: উৎপাদনে আপনার স্কিমা এবং ক্যোয়ারী স্থাপন করুন

আপনি একটি উন্নয়ন পুনরাবৃত্তি মাধ্যমে কাজ করেছেন. এখন আপনি আপনার স্কিমা এবং কোয়েরিগুলিকে Firebase এক্সটেনশন UI বা Firebase CLI দিয়ে সার্ভারে স্থাপন করতে পারেন, ঠিক যেমন আপনি আপনার স্কিমার সাথে করেছিলেন৷

IDE উইন্ডোতে, VS Code Extension UI-তে, Deploy to Production বোতামে ক্লিক করুন।

একবার স্থাপন করা হলে, স্কিমা আপডেটগুলি যাচাই করতে Firebase কনসোলে যান (যদি প্রযোজ্য হয়) এবং অপারেশনগুলি ক্লাউডে আপলোড করা হয়েছে৷ আপনি স্কিমা দেখতে সক্ষম হবেন এবং কনসোলে আপনার ক্রিয়াকলাপগুলিও চালাতে পারবেন। PostgreSQL দৃষ্টান্তের জন্য ক্লাউড এসকিউএল এর চূড়ান্ত স্থাপন করা জেনারেটেড স্কিমা এবং ডেটা সহ আপডেট করা হবে।

ডকুমেন্টেশনে ডেটা কানেক্ট এমুলেটর ব্যবহার সম্পর্কে আরও জানুন

স্থানীয় প্রবাহ: একটি অ্যাপ থেকে আপনার ক্যোয়ারী কল করতে SDK ব্যবহার করুন

এখন আপনার আপডেট করা স্কিমা (যদি প্রযোজ্য হয়)। এবং আপনার ক্যোয়ারী প্রোডাকশনে স্থাপন করা হয়, আপনি আপনার ListMovies ক্যোয়ারীতে একটি কল বাস্তবায়নের জন্য Data Connect জেনারেট করা SDK ব্যবহার করতে পারেন।

  1. আপনার ওয়েব অ্যাপে Firebase যোগ করুন।
  2. আপনার প্রতিক্রিয়া অ্যাপের প্রধান ফাইলে:

    • আপনার তৈরি SDK আমদানি করুন
    • কল Data Connect পদ্ধতি।
    import React from 'react';
    import ReactDOM from 'react-dom/client';
    
    // Generated queries.
    // Update as needed with the path to your generated SDK.
    import { listMovies, ListMoviesData } from '@movie-app/movies';
    
    function App() {
      const [movies, setMovies] = useState<ListMoviesData['movies']>([]);
      useEffect(() => {
        listMovies.then(res => setMovies(res.data));
      }, []);
      return (
        movies.map(movie => <h1>{movie.title}</h1>);
      );
    }
    
    const root = ReactDOM.createRoot(document.getElementById('root'));
    root.render(<App />);
    
  1. আপনার iOS অ্যাপে Firebase যোগ করুন।
  2. জেনারেট করা SDK ব্যবহার করতে, এটিকে Xcode-এ নির্ভরতা হিসেবে কনফিগার করুন।

    Xcode শীর্ষ নেভিগেশন বারে, ফাইল > প্যাকেজ নির্ভরতা যোগ করুন > স্থানীয় যোগ করুন নির্বাচন করুন এবং তৈরি করা Package.swift ধারণকারী ফোল্ডারটি বেছে নিন।

  3. আপনার অ্যাপের প্রধান প্রতিনিধিতে:

    • আপনার তৈরি SDK আমদানি করুন
    • কল Data Connect পদ্ধতি।
    import SwiftUI
    
    import FirebaseDataConnect
    // Generated queries.
    // Update as needed with the package name of your generated SDK.
    import <CONNECTOR-PACKAGE-NAME>
    
    let connector = DataConnect.moviesConnector
    
    struct ListMovieView: View {
    @StateObject private var queryRef = connector.listMovies.ref()
    
        var body: some View {
            VStack {
                Button {
                    Task {
                        do {
                            try await refresh()
                        } catch {
                            print("Failed to refresh: \(error)")
                        }
                    }
                } label: {
                    Text("Refresh")
                }
    
                // use the query results in a view
                ForEach(queryRef.data?.movies ?? []) { movie in
                        Text(movie.title)
                    }
                }
        }
        @MainActor
        func refresh() async throws {
            _ = try await queryRef.execute()
        }
    
        struct ContentView_Previews: PreviewProvider {
        static var previews: some View {
            ListMovieView()
        }
    }
    
  1. আপনার Android অ্যাপে Firebase যোগ করুন।
  2. জেনারেট করা SDK ব্যবহার করতে, Gradle-এ নির্ভরতা হিসেবে Data Connect কনফিগার করুন।

    আপনার app/build.gradle.ktsplugins এবং dependencies আপডেট করুন।

    plugins {
      // Use whichever versions of these dependencies suit your application.
      // The versions shown here were the latest as of March 14, 2025.
      // Note, however, that the version of kotlin("plugin.serialization") must,
      // in general, match the version of kotlin("android").
      id("com.android.application") version "8.9.0"
      id("com.google.gms.google-services") version "4.4.2"
      val kotlinVersion = "2.1.10"
      kotlin("android") version kotlinVersion
      kotlin("plugin.serialization") version kotlinVersion
    }
    
    dependencies {
      // Use whichever versions of these dependencies suit your application.
      // The versions shown here were the latest versions as of March 14, 2025.
      implementation("com.google.firebase:firebase-dataconnect:16.0.0-beta04")
      implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1")
      implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3")
    
      // These dependencies are not strictly required, but will very likely be used
      // when writing modern Android applications.
      implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0")
      implementation("androidx.appcompat:appcompat:1.7.0")
      implementation("androidx.activity:activity-ktx:1.10.1")
      implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7")
      implementation("com.google.android.material:material:1.12.0")
    }
    
  3. আপনার অ্যাপের প্রধান কার্যকলাপে:

    • আপনার তৈরি SDK আমদানি করুন
    • কল Data Connect পদ্ধতি।
    import android.os.Bundle
    import android.widget.TextView
    import androidx.appcompat.app.AppCompatActivity
    import androidx.lifecycle.Lifecycle
    import androidx.lifecycle.lifecycleScope
    import androidx.lifecycle.repeatOnLifecycle
    import kotlinx.coroutines.launch
    
    
    private val connector = com.myapplication.MoviesConnector.instance
    
    class MainActivity : AppCompatActivity() {
    
      override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val textView: TextView = findViewById(R.id.text_view)
    
        lifecycleScope.launch {
          lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) {
            
            val result = connector.listMovies.runCatching { execute { } }
            
            val newTextViewText = result.fold(
              onSuccess = {
                val titles = it.data.movies.map { it.title }
                "${titles.size} movies: " + titles.joinToString(", ")
              },
              onFailure = { "ERROR: ${it.message}" }
            )
            textView.text = newTextViewText
          }
        }
      }
    }
    
  1. আপনার Flutter অ্যাপে Firebase যোগ করুন।
  2. flutterfire CLI dart pub global activate flutterfire_cli ইনস্টল করুন।
  3. flutterfire configure চালান।
  4. আপনার অ্যাপের প্রধান ফাংশনে:
    • আপনার তৈরি SDK আমদানি করুন
    • কল Data Connect পদ্ধতি।
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'firebase_options.dart';

// Generated queries.
// Update as needed with the path to your generated SDK

import 'movies_connector/movies.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  
  
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
            body: Column(children: [
      ConstrainedBox(
        constraints: const BoxConstraints(maxHeight: 200),
        child: FutureBuilder(
            future: MoviesConnector.instance.listMovies().execute(),
            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,
                );
              }
              return const CircularProgressIndicator();
            }),
      )
    ])));
  }
}

পরবর্তী পদক্ষেপ

আপনার নিয়োজিত প্রকল্প পর্যালোচনা করুন এবং আরও সরঞ্জাম আবিষ্কার করুন:

  • আপনার ডাটাবেসে ডেটা যোগ করুন, আপনার স্কিমাগুলি পরিদর্শন করুন এবং সংশোধন করুন এবং Firebase কনসোলে আপনার Data Connect পরিষেবা নিরীক্ষণ করুন।

ডকুমেন্টেশনে আরও তথ্য অ্যাক্সেস করুন। উদাহরণস্বরূপ, যেহেতু আপনি কুইকস্টার্ট সম্পূর্ণ করেছেন: