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, geolocator

  • Testing: flutter_test, mockito

  • Deployment: Google Play Store / Firebase Hosting

Scroll to Top