Dashboard হলো একটি ইউজার ইন্টারফেস যা একাধিক ডেটা ভিজুয়ালাইজেশন উপাদান যেমন চার্ট, টেবিল, গ্রাফ ইত্যাদি প্রদর্শন করে। এটি ব্যবহারকারীদের এক স্থান থেকে বিভিন্ন ডেটা সেট বিশ্লেষণ করতে সাহায্য করে। Angular এবং Google Charts API ব্যবহার করে আপনি সহজেই একটি ইন্টারঅ্যাকটিভ এবং রেসপন্সিভ ড্যাশবোর্ড তৈরি করতে পারেন যেখানে একাধিক চার্ট একত্রে প্রদর্শিত হবে।
এখানে আমরা Angular অ্যাপ্লিকেশন তৈরি করব এবং তাতে একাধিক Google Charts (যেমন Pie Chart, Bar Chart, Line Chart) একত্রে প্রদর্শন করব।
প্রথমে একটি নতুন Angular প্রজেক্ট তৈরি করুন:
ng new dashboard-app
cd dashboard-app
এখন, angular-google-charts লাইব্রেরি ইন্সটল করতে হবে:
npm install angular-google-charts
এখন, GoogleChartsModule
আপনার অ্যাপ্লিকেশনে ইমপোর্ট করতে হবে। এর জন্য app.module.ts
ফাইলে এটি যোগ করুন:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { GoogleChartsModule } from 'angular-google-charts'; // GoogleChartsModule ইমপোর্ট
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
GoogleChartsModule // এখানে GoogleChartsModule যোগ করুন
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
এখন, আমরা একটি Dashboard তৈরি করব যেখানে একাধিক চার্ট একত্রে প্রদর্শিত হবে। এখানে আমরা একটি Pie Chart, Bar Chart, এবং Line Chart তৈরি করব।
app.component.ts
ফাইল:import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'Google Charts Dashboard';
// Pie Chart Data
pieChartType = 'PieChart';
pieChartData = [
['Task', 'Hours per Day'],
['Work', 8],
['Eat', 2],
['Commute', 2],
['Watch TV', 2],
['Sleep', 8]
];
pieChartOptions = {
title: 'My Daily Activities',
pieHole: 0.4,
width: 400,
height: 400
};
// Bar Chart Data
barChartType = 'BarChart';
barChartData = [
['City', '2010 Population', '2011 Population'],
['New York', 8175133, 8269190],
['Los Angeles', 3792621, 3792621],
['Chicago', 2695598, 2695598],
['Houston', 2129784, 2296224]
];
barChartOptions = {
chart: {
title: 'City Population',
subtitle: 'Population of major US cities',
},
};
// Line Chart Data
lineChartType = 'LineChart';
lineChartData = [
['Year', 'Sales', 'Expenses'],
['2010', 1000, 400],
['2011', 1170, 460],
['2012', 660, 1120],
['2013', 1030, 540]
];
lineChartOptions = {
title: 'Company Performance',
hAxis: { title: 'Year' },
vAxis: { title: 'Amount' },
};
}
app.component.html
ফাইল:<h1>{{ title }}</h1>
<!-- Dashboard Layout -->
<div class="dashboard-container">
<!-- Pie Chart -->
<div class="chart-container">
<h2>Pie Chart</h2>
<google-chart
[type]="pieChartType"
[data]="pieChartData"
[options]="pieChartOptions">
</google-chart>
</div>
<!-- Bar Chart -->
<div class="chart-container">
<h2>Bar Chart</h2>
<google-chart
[type]="barChartType"
[data]="barChartData"
[options]="barChartOptions">
</google-chart>
</div>
<!-- Line Chart -->
<div class="chart-container">
<h2>Line Chart</h2>
<google-chart
[type]="lineChartType"
[data]="lineChartData"
[options]="lineChartOptions">
</google-chart>
</div>
</div>
app.component.css
ফাইল:/* Dashboard layout styling */
.dashboard-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr; /* 3 columns layout */
gap: 20px;
margin-top: 20px;
}
.chart-container {
border: 1px solid #ddd;
padding: 20px;
border-radius: 8px;
background-color: #f9f9f9;
text-align: center;
}
h2 {
margin-bottom: 10px;
}
এখন, অ্যাপ্লিকেশনটি চালানোর জন্য নিচের কমান্ডটি ব্যবহার করুন:
ng serve
এটি ডিফল্টভাবে অ্যাপ্লিকেশনটি http://localhost:4200
এ রান করবে। আপনি ব্রাউজারে গিয়ে ড্যাশবোর্ড দেখতে পারবেন যেখানে একাধিক চার্ট (Pie Chart, Bar Chart, Line Chart) একত্রে প্রদর্শিত হবে।
রেসপন্সিভ ডিজাইন নিশ্চিত করতে CSS গ্রিড এবং মিডিয়া কুয়েরি ব্যবহার করা যেতে পারে। আপনি যদি নিশ্চিত করতে চান যে চার্টগুলি ছোট পর্দায় সুন্দরভাবে প্রদর্শিত হবে, তাহলে আপনি CSS Grid বা Flexbox ব্যবহার করতে পারেন।
.dashboard-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* Makes it responsive */
gap: 20px;
}
এটি auto-fill এবং minmax ব্যবহার করে গ্রিডের কলাম সংখ্যা এবং আকার ডাইনামিকভাবে পরিবর্তন করবে, যাতে ছোট স্ক্রীনে চার্টগুলো সুন্দরভাবে ফিট হয়।
এই উদাহরণে, আমরা Google Charts এবং Angular ব্যবহার করে একটি Dashboard তৈরি করেছি যেখানে একাধিক চার্ট (Pie Chart, Bar Chart, Line Chart) একত্রে প্রদর্শিত হয়েছে। আমরা CSS Grid ব্যবহার করে ড্যাশবোর্ডের লেআউট তৈরি করেছি এবং প্রতিটি চার্টের জন্য আলাদা কাস্টম অপশন ব্যবহার করেছি। এই ধরনের ড্যাশবোর্ড খুবই কার্যকরী যখন একাধিক ডেটা ভিজুয়ালাইজেশন একত্রে প্রদর্শন করতে হয়।