শিক্ষা ট্র্যাক কোর্স ফি কোর্স ভর্তি FAQ যোগাযোগ
← হোমপেজে ফিরে যান

Flutter Mobile App Development সম্পূর্ণ কারিকুলাম

শূন্য থেকে শুরু করে Play Store-এ অ্যাপ পাবলিশ করা পর্যন্ত — Beginner থেকে Job-Ready লেভেল পর্যন্ত সম্পূর্ণ রোডম্যাপ, ১১টি মডিউলে সাজানো।

৫৯টিক্লাস
১১টিমডিউল
~৩০ সপ্তাহসাপ্তাহিক ২ ক্লাসে
৳৬,০০০কোর্স ফি

Module 1: Introduction, Setup & Git (৫ ক্লাস)

Flutter কী? Dart কী? Ecosystem ও ক্যারিয়ার সুযোগ
Flutter Google-এর তৈরি একটি open-source UI toolkit — একটিমাত্র কোডবেজ দিয়ে Android, iOS, Web ও Desktop অ্যাপ বানানো যায় (cross-platform development)। এতে সময় ও খরচ দুটোই বাঁচে, কারণ আলাদা করে Android (Kotlin) ও iOS (Swift) শেখার দরকার হয় না। Dart Flutter যে programming language ব্যবহার করে, সেটি Dart — এটিও Google-এর তৈরি, object-oriented ও শেখা তুলনামূলক সহজ, বিশেষ করে যাদের Java/JavaScript/C-এর ধারণা আছে তাদের জন্য। Ecosystem
  • pub.dev — হাজারো ready-made package/library পাওয়া যায় (payment, maps, animation ইত্যাদি)
  • Hot Reload — কোড পরিবর্তন সাথে সাথে অ্যাপে দেখা যায়, app restart লাগে না
  • Flutter DevTools — debugging ও performance profiling-এর টুল
ক্যারিয়ার সুযোগ Flutter দিয়ে Freelancing (Fiverr, Upwork), Remote job, এবং Bangladesh-এর স্থানীয় IT company-তেও চাহিদা বাড়ছে। BMW, Google Pay, Alibaba-এর মতো বড় কোম্পানিও Flutter ব্যবহার করে — মানে এটি শুধু "শেখার জন্য শেখা" না, বাস্তব industry-standard স্কিল।
Flutter SDK, Android Studio/VS Code Setup
  • Flutter SDK ডাউনলোড — flutter.dev থেকে অফিসিয়াল SDK নামিয়ে একটি ফোল্ডারে extract করতে হয়
  • PATH environment variable — যাতে টার্মিনাল থেকে যেকোনো জায়গা থেকে flutter কমান্ড চালানো যায়
  • Android Studio — Flutter ও Dart প্লাগইন ইন্সটল করতে হয়, Android SDK ও এখান থেকেই ম্যানেজ হয়
  • VS Code — হালকা (lightweight) বিকল্প, অনেকে এটি বেশি পছন্দ করেন দ্রুত কাজের জন্য
  • flutter doctor কমান্ড দিয়ে পুরো সেটআপ ঠিক আছে কিনা যাচাই করা হয় — এটি প্রতিটি ধাপে ✓ বা ✗ দেখিয়ে বলে দেয় কী বাকি আছে
Emulator ও Physical Device Setup, প্রথম App
Emulator (ভার্চুয়াল ডিভাইস) Android Studio-র AVD Manager দিয়ে একটি ভার্চুয়াল ফোন তৈরি করা হয়, যেখানে ফিজিক্যাল ফোন ছাড়াই অ্যাপ টেস্ট করা যায়। Physical Device নিজের ফোনে USB Debugging অন করে ল্যাপটপের সাথে কানেক্ট করলে সরাসরি নিজের ডিভাইসেই অ্যাপ রান করানো যায় — এটি emulator-এর চেয়ে দ্রুত ও বাস্তবসম্মত experience দেয়। প্রথম App flutter create my_first_app কমান্ড দিয়ে একটি ডিফল্ট Counter App তৈরি হয় (বাটনে ক্লিক করলে সংখ্যা বাড়ে) — এটিই প্রতিটি Flutter শিক্ষার্থীর প্রথম "Hello World" প্রজেক্ট, এবং flutter run দিয়ে সেটি রান করানো হয়।
Git & GitHub Basics (commit, push, branch)
কেন দরকার কোড লেখার সময় ভুল হলে বা আগের ভার্সনে ফিরে যেতে হলে Git ছাড়া তা প্রায় অসম্ভব — এটি একটি "version control system" যা কোডের প্রতিটি পরিবর্তনের ইতিহাস রাখে।
  • git init — একটি ফোল্ডারকে Git প্রজেক্ট হিসেবে চালু করা
  • git add — পরিবর্তিত ফাইল trackING-এ যোগ করা
  • git commit — একটি "সেভ পয়েন্ট" তৈরি করা, সাথে মেসেজ দিয়ে কী পরিবর্তন হয়েছে তা লেখা
  • git push — লোকাল কোড GitHub-এ আপলোড করা
  • Branch — মূল কোড না ঘেঁটে আলাদাভাবে নতুন ফিচার ডেভেলপ করার পদ্ধতি, পরে merge করা যায়
পুরো কোর্স জুড়ে প্রতিটি প্রজেক্টেই এই workflow ব্যবহার করা হবে, যাতে শেষে একটি professional GitHub profile তৈরি হয়ে যায়।
Project Structure ও প্রোডাক্টিভিটি টিপস
  • lib/ ফোল্ডার — এখানেই মূল Dart কোড থাকে, main.dart হলো অ্যাপের entry point
  • pubspec.yaml — dependencies (কোন package ব্যবহার হচ্ছে), assets (image/font) এখানে ডিফাইন করা হয়
  • android/ios/ ফোল্ডার — platform-specific native কনফিগারেশন থাকে, সাধারণত সরাসরি হাত দিতে হয় না
  • Hot Reload vs Hot Restart — Hot Reload দ্রুত UI পরিবর্তন দেখায় (state ধরে রাখে), Hot Restart পুরো অ্যাপ নতুন করে চালু করে
  • dart format ও লিন্টিং — কোড পরিষ্কার ও consistent রাখার অভ্যাস, টিমে কাজ করার সময় জরুরি

Module 2: Dart Programming (৮ ক্লাস)

Variables & Data Types
Dart-এ ভ্যারিয়েবল কীভাবে ডিক্লেয়ার করতে হয় (int, String, double, bool) এবং var, final, const-এর পার্থক্য শেখানো হয়।
Operators & Input/Output
Arithmetic, relational, logical operator এবং কনসোল থেকে input নেওয়া ও output দেখানোর পদ্ধতি।
Condition (if/else, switch)
সিদ্ধান্তভিত্তিক প্রোগ্রাম লেখা — if/else if/else এবং switch-case দিয়ে multiple condition হ্যান্ডেল করা।
Loops (for, while, do-while)
একই কাজ বারবার করার জন্য for, while ও do-while loop — কখন কোনটা ব্যবহার করবেন।
Functions
কোড reusable করতে function লেখা — parameter, return type, named ও optional parameter।
Collections (List, Map, Set)
একাধিক ডেটা একসাথে রাখার জন্য List, Map ও Set — Flutter-এ সবচেয়ে বেশি ব্যবহৃত ডেটা স্ট্রাকচার।
OOP (Class, Object, Constructor, Inheritance)
Object-Oriented প্রোগ্রামিং-এর ভিত্তি — class, object, constructor এবং inheritance দিয়ে কোড organize করা।
Null Safety, Async, Future, Stream
Dart-এর null safety ফিচার, এবং asynchronous প্রোগ্রামিং-এর জন্য Future ও Stream — API call বোঝার আগে অপরিহার্য।

Module 3: Flutter UI Basics (৮ ক্লাস)

Widget পরিচিতি — Stateless vs Stateful
Flutter-এ সবকিছুই widget — Stateless (static UI) ও Stateful (পরিবর্তনশীল UI) widget-এর পার্থক্য।
Layout: Row, Column, Stack
UI-এর এলিমেন্ট পাশাপাশি (Row), উপর-নিচ (Column) বা একটার উপর একটা (Stack) সাজানোর পদ্ধতি।
Container, Padding, Margin, Sizing
UI-এর স্পেসিং ও সাইজ কন্ট্রোল করার widget — Container, Padding, Margin, SizedBox।
ListView & GridView
লম্বা লিস্ট বা গ্রিড আকারে ডেটা দেখানো — স্ক্রলযোগ্য UI বানানোর মূল widget।
Image, Icon, Button, Custom Widgets
ছবি, আইকন, বাটন যোগ করা এবং নিজের reusable custom widget তৈরি করা।
Theme, Responsive UI (MediaQuery, LayoutBuilder)
পুরো অ্যাপের রঙ/ফন্ট একসাথে কন্ট্রোল করা (Theme), এবং বিভিন্ন স্ক্রিন সাইজে UI ঠিক রাখার কৌশল।
Figma Design → Flutter UI Implementation
একটি রেডিমেড Figma ডিজাইন দেখে হুবহু Flutter কোডে রূপান্তর করার প্র্যাকটিক্যাল অনুশীলন।
Practice Project: Static UI Clone (পোর্টফোলিও পিস #১)
শেখা সব UI স্কিল একসাথে ব্যবহার করে একটি পরিচিত অ্যাপের UI ক্লোন করা — প্রথম পোর্টফোলিও প্রজেক্ট।

Module 4: Navigation & Forms (৫ ক্লাস)

Navigation (push/pop, named routes)
এক স্ক্রিন থেকে আরেক স্ক্রিনে যাওয়া-আসার পদ্ধতি — Navigator.push/pop ও named route setup।
Form & Validation
ইউজারের ইনপুট নেওয়ার Form widget এবং ভুল ইনপুট আটকাতে validation লজিক লেখা।
TextField ও Input widgets
টেক্সট, নাম্বার, পাসওয়ার্ড ইনপুট নেওয়ার জন্য TextField ও এর কাস্টমাইজেশন।
DatePicker, Dialog, BottomSheet
তারিখ বাছাই, পপ-আপ ডায়ালগ ও নিচ থেকে উঠে আসা BottomSheet UI তৈরি করা।
Practice: Multi-screen App
একাধিক স্ক্রিন, ফর্ম ও নেভিগেশন একসাথে ব্যবহার করে একটি ছোট বাস্তব অ্যাপ বানানো।

Module 5: State Management — GetX / Bloc / Riverpod (৬ ক্লাস)

setState — কখন যথেষ্ট, কখন না
সবচেয়ে বেসিক state management পদ্ধতি এবং কোন ক্ষেত্রে এটি যথেষ্ট নয় তা বোঝা।
GetX Basics (reactive state)
GetX দিয়ে reactive state — ডেটা পরিবর্তন হলে UI নিজে থেকেই আপডেট হওয়ার পদ্ধতি।
GetX Navigation & Dependency Injection
GetX দিয়ে context ছাড়াই নেভিগেশন এবং controller/service ইনজেক্ট করার কৌশল।
Bloc Pattern — Overview (Enterprise প্রজেক্টে জনপ্রিয়)
বড় ও টিম-বেজড প্রজেক্টে জনপ্রিয় Bloc প্যাটার্নের পরিচিতি — event ও state আলাদা রাখার ধারণা।
Riverpod — Overview (আধুনিক, compile-safe alternative)
Provider-এর আধুনিক বিকল্প Riverpod-এর পরিচিতি — compile-time safety ও testability।
Project Architecture — কখন কোনটা ব্যবহার করবেন
প্রজেক্টের সাইজ ও টিমের অভিজ্ঞতা অনুযায়ী কোন state management বেছে নেবেন তার গাইডলাইন।

Module 6: Networking (৫ ক্লাস)

HTTP Request Basics
ইন্টারনেট থেকে ডেটা আনা-নেওয়ার মূল ধারণা — GET, POST রিকোয়েস্ট কীভাবে কাজ করে।
REST API কনসেপ্ট
REST API কী, এন্ডপয়েন্ট, স্ট্যাটাস কোড ও রেসপন্স স্ট্রাকচার বোঝা।
Dio Package
http প্যাকেজের চেয়ে বেশি ফিচারসমৃদ্ধ Dio প্যাকেজ দিয়ে API কল করা।
JSON Parsing ও Data Models
API থেকে আসা JSON ডেটাকে Dart অবজেক্ট/মডেলে রূপান্তর করা।
Error Handling & Loading States
API কল ব্যর্থ হলে বা লোড হতে সময় নিলে ইউজারকে সঠিকভাবে জানানোর UI প্যাটার্ন।

Module 7: Local Storage (৩ ক্লাস)

SharedPreferences
ছোট ছোট ডেটা (settings, login status) ফোনে সংরক্ষণ করার সবচেয়ে সহজ পদ্ধতি।
Hive
দ্রুতগতির NoSQL লোকাল ডেটাবেস — বড় পরিমাণ ডেটা অফলাইনে সংরক্ষণের জন্য।
Secure Storage
পাসওয়ার্ড বা টোকেনের মতো sensitive তথ্য এনক্রিপ্ট করে নিরাপদে সংরক্ষণ করা।

Module 8: Firebase (৬ ক্লাস)

Firebase Setup
Flutter প্রজেক্টের সাথে Firebase কানেক্ট করার প্রাথমিক সেটআপ প্রক্রিয়া।
Authentication
ইমেইল/পাসওয়ার্ড, গুগল লগইন দিয়ে ইউজার অথেন্টিকেশন সিস্টেম তৈরি করা।
Firestore Database
রিয়েল-টাইম ক্লাউড ডেটাবেস Firestore-এ ডেটা সেভ ও রিড করা।
Firebase Storage
ছবি, ফাইল ক্লাউডে আপলোড ও ডাউনলোড করার পদ্ধতি।
Push Notification (FCM)
Firebase Cloud Messaging দিয়ে ইউজারকে নোটিফিকেশন পাঠানো।
Crashlytics & Analytics
অ্যাপ ক্র্যাশ ট্র্যাক করা এবং ইউজার বিহেভিয়ার অ্যানালিটিক্স দেখা।

Module 9: Advanced Flutter (৫ ক্লাস)

Animations
অ্যাপকে প্রাণবন্ত করতে বেসিক ও কাস্টম অ্যানিমেশন যোগ করা।
Camera & Image Picker
ফোনের ক্যামেরা ব্যবহার ও গ্যালারি থেকে ছবি বাছাই করার ফিচার যোগ করা।
Permissions & Location
ক্যামেরা, লোকেশন ইত্যাদির জন্য রানটাইম পারমিশন হ্যান্ডেল করা।
Clean Architecture (Repository Pattern)
কোডকে লেয়ারে ভাগ করে (UI, Logic, Data) প্রফেশনাল ও maintainable আর্কিটেকচার তৈরি করা।
Unit & Widget Testing Basics
কোড ঠিকমতো কাজ করছে কিনা তা স্বয়ংক্রিয়ভাবে যাচাই করার টেস্টিং বেসিকস — চাকরির বাজারে গুরুত্বপূর্ণ স্কিল।

Module 10: Capstone Project (৫ ক্লাস)

Planning + UI Build (Expense Tracker / ToDo / Mini E-commerce)
একটি বাস্তব অ্যাপের প্ল্যানিং করে তার সম্পূর্ণ UI তৈরি করা।
API Integration
ক্যাপস্টোন প্রজেক্টে রিয়েল API যুক্ত করে ডাইনামিক ডেটা দেখানো।
State Management + Local Storage Integration
GetX ও লোকাল স্টোরেজ যুক্ত করে অ্যাপকে ফাংশনাল ও অফলাইন-ফ্রেন্ডলি করা।
Firebase Integration (Auth + Database)
লগইন সিস্টেম ও ক্লাউড ডেটাবেস যুক্ত করে অ্যাপটিকে সম্পূর্ণ করা।
Testing, Bug Fixing, Final Polish
পুরো অ্যাপ টেস্ট করে বাগ ঠিক করা এবং UI/UX পলিশ করে প্রেজেন্টেশনের জন্য প্রস্তুত করা।

Module 11: Deployment & Career (৩ ক্লাস)

APK/App Bundle Build, Play Store Publish প্রসেস
অ্যাপকে রিলিজ ভার্সনে বিল্ড করে Google Play Store-এ পাবলিশ করার সম্পূর্ণ প্রক্রিয়া।
GitHub Profile ও Portfolio বিল্ডিং
কোর্সের সব প্রজেক্ট দিয়ে একটি প্রফেশনাল GitHub প্রোফাইল ও পোর্টফোলিও সাজানো।
Freelancing/Job Market গাইড + কোর্স র‍্যাপ-আপ
Freelancing প্ল্যাটফর্মে কীভাবে শুরু করবেন এবং জব মার্কেটে আবেদনের কৌশল নিয়ে আলোচনা।
Bonus (Self-paced): Firebase Hosting, REST API with Laravel/Node.js Intro, AI Feature Integration (OpenAI/Gemini API), Google Maps, Payment Gateway Overview, AdMob, CI/CD Basics

এই কোর্সে ভর্তি হতে প্রস্তুত?

bKash-এ পেমেন্ট করে সরাসরি ভর্তি হোন, অথবা প্রশ্ন থাকলে আগে যোগাযোগ করুন।

💬