Skip to content

ZozzaElsheikh/flutter-dart-tutorial

Repository files navigation

Flutter & Dart Tutorial - Complete Learning Path

Welcome to your comprehensive Flutter and Dart learning journey! This repository contains 8 weeks of structured lessons, exercises, and projects to take you from absolute beginner to building real-world Flutter applications.

📚 Course Structure

Week 1: Dart Basics

Goal: Master Dart fundamentals before diving into Flutter

  • Variables, data types, and null safety
  • Control flow (if/else, switch, loops)
  • Functions and arrow functions
  • Collections (List, Map, Set)
  • Exercise: Build a Dart console calculator

Week 2: Flutter Introduction

Goal: Understand Flutter's widget system and build simple UIs

  • Your first Flutter app
  • StatelessWidget vs StatefulWidget
  • Basic widgets (Text, Container, Column, Row)
  • Material Design basics
  • Exercise: Build a personal info card app

Week 3: Stateful Widgets & User Input

Goal: Create interactive apps with state management

  • Understanding setState
  • User input with TextField
  • Buttons and event handling
  • ListView and scrolling
  • Exercise: Build a Todo list app

Week 4: Basic Projects

Goal: Apply what you've learned in complete apps

  • Project 1: Calculator app with custom UI
  • Project 2: BMI Calculator
  • Best practices and code organization
  • Exercise: Enhance projects with features

Week 5: Navigation & Routing

Goal: Build multi-screen applications

  • Navigator basics
  • Passing data between screens
  • Named routes
  • Bottom navigation bar
  • Exercise: Multi-page portfolio app

Week 6: Networking & APIs

Goal: Fetch and display data from the internet

  • HTTP requests with dio/http package
  • JSON parsing and serialization
  • Async/await patterns
  • Error handling
  • Exercise: Fetch and display data from a public API

Week 7-8: Final Project

Goal: Build a complete production-ready app

  • Choose from: Weather App, Notes App, or Chat App
  • State management (Provider/Riverpod)
  • Local storage
  • Polished UI/UX
  • Deliverable: Complete functional app

🚀 Getting Started

Prerequisites

  1. Install Flutter SDK

  2. Install IDE

    • VS Code + Flutter extension (recommended for beginners)
    • OR Android Studio
  3. Verify installation

    flutter doctor

Repository Structure

flutter-dart-tutorial/
├── week-1-dart-basics/
│   ├── lessons/          # Theory and examples
│   ├── exercises/        # Practice problems
│   └── solutions/        # Solution code
├── week-2-flutter-intro/
│   ├── lessons/
│   ├── exercises/
│   └── solutions/
├── ... (weeks 3-8)
└── README.md

How to Use This Tutorial

  1. Follow the weeks sequentially - Each builds on previous concepts
  2. Read the lessons first - Understand theory before coding
  3. Complete all exercises - Practice is crucial
  4. Check solutions only after trying - Struggle helps you learn
  5. Experiment and break things - Best way to understand

📖 Weekly Commitment

  • Lessons: 2-3 hours
  • Exercises: 2-3 hours
  • Projects: 3-5 hours
  • Total: ~8-10 hours per week

🎯 Learning Outcomes

By completing this course, you will:

  • ✅ Write Dart code confidently
  • ✅ Build beautiful, responsive UIs with Flutter
  • ✅ Manage application state effectively
  • ✅ Handle navigation in multi-screen apps
  • ✅ Fetch and display data from APIs
  • ✅ Store data locally
  • ✅ Deploy production-ready Flutter apps

📋 Progress Tracker

Track your progress by checking off completed weeks:

  • Week 1: Dart Basics
  • Week 2: Flutter Introduction
  • Week 3: Stateful Widgets & User Input
  • Week 4: Basic Projects
  • Week 5: Navigation & Routing
  • Week 6: Networking & APIs
  • Week 7-8: Final Project

🆘 Getting Help

📝 Tips for Success

  1. Code every day - Even 30 minutes helps
  2. Build things you're interested in - Customize the projects
  3. Read error messages carefully - They usually tell you what's wrong
  4. Use hot reload - See changes instantly while developing
  5. Don't skip exercises - They reinforce learning

Ready to begin? Start with Week 1: Dart Basics!

About

Complete 8-week Flutter & Dart tutorial - From beginner to building production apps

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages