Flutter Developer – 100+ Lab Exercises (Basic, Intermediate, Advanced)
🔰 Basic Level (30+ Exercises)
Goal: Build foundational knowledge in Flutter, widgets, and app navigation.
Getting Started with Flutter
Lab 01: Install Flutter SDK and configure environment.
Lab 02: Create your first Flutter app – Hello World.
Lab 03: Explore Flutter project structure.
Lab 04: Run app on emulator and physical device.
Basic Widgets
Lab 05: Text, Image, and Icon widget demo.
Lab 06: Container and BoxDecoration usage.
Lab 07: Row, Column, and Stack layouts.
Lab 08: Card and ListTile usage.
Lab 09: ElevatedButton, IconButton, TextButton.
Forms and Inputs
Lab 10: TextField input and validation.
Lab 11: Checkbox, Switch, and Radio widgets.
Lab 12: DropdownMenu and DatePicker usage.
Lab 13: Create a simple form with validation.
Navigation & Routing
Lab 14: Basic navigation using Navigator.push.
Lab 15: Named routes and route arguments.
Lab 16: BottomNavigationBar.
Lab 17: Drawer implementation.
UI Design
Lab 18: Themes and global styling.
Lab 19: Gradient backgrounds and fonts.
Lab 20: Basic animation using AnimatedContainer.
🚀 Intermediate Level (40+ Exercises)
Goal: Build dynamic, data-driven, and state-aware applications.
ListViews and Grids
Lab 21: Create ListView from static data.
Lab 22: ListView.builder from dynamic list.
Lab 23: GridView.builder usage.
Lab 24: ListTile swipe to delete.
State Management
Lab 25: StatefulWidget example.
Lab 26: Lift state up between widgets.
Lab 27: Provider for state management.
Lab 28: Using setState and ChangeNotifier.
Networking and APIs
Lab 29: Fetch data using http package.
Lab 30: Display API data in ListView.
Lab 31: Post data to REST API.
Lab 32: Loading indicators and error handling.
Local Data Storage
Lab 33: Shared Preferences.
Lab 34: Local file read/write.
Lab 35: SQLite database using sqflite.
Lab 36: CRUD operations on SQLite.
Advanced Widgets & Gestures
Lab 37: GestureDetector usage.
Lab 38: PageView with swipeable pages.
Lab 39: Draggable and Dismissible widgets.
Lab 40: Hero animations.
🧠 Advanced Level (30+ Exercises)
Goal: Optimize, test, and integrate real-time services and architecture.
Advanced State Management
Lab 41: Riverpod basics.
Lab 42: BLoC pattern with flutter_bloc.
Lab 43: MVVM architecture with Provider.
Performance & Optimization
Lab 44: Lazy loading images.
Lab 45: Optimizing build methods.
Lab 46: Reducing widget rebuilds.
Testing & Debugging
Lab 47: Unit test a function.
Lab 48: Widget testing with flutter_test.
Lab 49: Integration test example.
Lab 50: Debugging with Flutter DevTools.
Backend Integration
Lab 51: Firebase Authentication.
Lab 52: Firebase Firestore integration.
Lab 53: Realtime data using Firebase Realtime DB.
Lab 54: Firebase Storage – image upload.
Device Features & Plugins
Lab 55: Image Picker from gallery/camera.
Lab 56: Use device sensors.
Lab 57: Push Notifications using Firebase Messaging.
Lab 58: Geolocation and Google Maps integration.
📦 Project-Oriented Labs (20+)
Goal: Build real apps combining multiple concepts.
Mini Projects
Lab 59: To-Do List App with SQLite.
Lab 60: Calculator App.
Lab 61: Weather App using API.
Lab 62: News Reader App using REST API.
Lab 63: Expense Tracker App with Pie Chart.
Capstone Projects
Lab 64: E-commerce App with Product Cart.
Lab 65: Chat Application with Firebase.
Lab 66: Food Delivery UI with navigation.
Lab 67: Job Listing App using API.
Lab 68: Blog App with Editor and Backend.
✅ Tools and Ecosystem
IDE: Android Studio, VS Code
Language: Dart
Packages:
http,provider,flutter_bloc,sqflite,firebase_core,cloud_firestore,image_picker,geolocatorTesting:
flutter_test,mockitoDeployment: Google Play Store / Firebase Hosting
