Skip to main content ppwriters

#30DaysMasterFlutter

30 Days Dart and Flutter Challenge

FREE | Easy to Follow | Project Based

Learn the basics of Flutter and Dart in 30 days! We provide a roadmap, resources, and project ideas to help you along your journey.

In just 30 days, this Flutter learning challenge will help you learn the basics of Dart and Flutter through daily project building and easy-to-follow learning materials. By the end of the challenge, you'll have a better understanding of Dart and Flutter and a collection of projects to showcase your skills.

Before you begin

Master Flutter
We want to see how you are doing. Share your progress with #30DaysMasterFlutter in our Discord and your social medias.
Day 1

Setting up the Environment

  • Install Flutter and Dart
  • Configure your IDE for Flutter development
  • Run your first Flutter app
Day 2

First Dart App

  • Learn the basic syntax of Dart
  • Understand how to write and run Dart programs
  • Use Dart to solve simple problems
Day 3

Variables, Data Types, Operators and Expressions

  • Learn about the different data types in Dart
  • Understand how to declare and initialize variables
  • Learn about the different operators in Dart
  • Understand how to use expressions and statements
Day 4

Dart Functions

  • Learn about functions in Dart
  • Understand function parameters and return types
  • Use functions in your Flutter app
Day 5

Asynchronous Programming

  • Understand the basics of asynchronous programming in Dart
  • Learn about the async, await, and Future keywords
  • Handle errors and timeouts when working with Future objects
Day 6

Exceptions and Error Handling

  • Learn about the importance of exception handling and error management
  • Understand how to use try, catch, and finally
  • Implement exception handling in your Flutter app
Day 7

Dart Classes

  • Learn about object-oriented programming in Dart
  • Understand classes, objects, and inheritance
  • Use classes and objects in your Flutter app
Day 8

Dependency Management

  • Learn about packages in Dart
  • Understand how to use the pubspec.yaml file
  • Understand how to use existing packages
Day 9

Networking in Dart

  • Study the basics of networking in Dart
  • Learn how to make HTTP requests
  • Learn how to parse JSON data
Day 10

Hello Flutter

  • Understand the basic structure of a Flutter app
  • Learn about widgets and how to use them
  • Create a simple Flutter app
Day 11

User Interface Design - Part 1

  • Learn about the basics of UI design in Flutter
  • Learn about simple widgets like Text, Container, Row, and Column
  • Create a simple UI in your Flutter app
Day 12

User Interface Design - Part 2

  • Build scrollable layout
  • Learn about scrolling widgets like SingleChildScrollView, ListView, GridView and more
  • Practice creating more UIs
Day 13

Assets: Images and Fonts

  • Learn how to add images and fonts to your Flutter app
  • Understand how to use the pubspec.yaml file
  • Add images and fonts to your Flutter app
Day 14

Interactive UI

  • Learn about state and StatefulWidget
  • Understand how to use setState()
  • Implement stateful widgets in your Flutter app
Day 15

Forms and User Input

  • Learn about forms and user input and their importance
  • Understand how to use text fields and text editing controllers
  • Implement forms and accept user input in your Flutter app
Day 16

Styling and Validating Forms

  • Learn how you can style your forms to match your app's theme
  • Understand how to validate forms
  • Style and validate forms in your Flutter app
Day 17

Alerts, Dialogs and Snackbar

  • Learn when to use alerts, dialogs, and snackbar to show meaningful messages to users
  • Understand how to use the showDialog() method
  • Implement alerts, dialogs, and snackbar in your Flutter app
Day 18

Introduction to Navigation

  • Understand how to navigate between screens in Flutter
  • Learn about the Navigator widget and routes
  • Implement navigation in your Flutter app
Day 19

Navigator 2.0 and the Go Router

  • Understand declarative navigation in Flutter
  • Learn about the Go Router
  • Implement navigation in your Flutter app using Go Router
Day 20

Flutter Packages to Rescue

  • Learn how to use libraries in Flutter
  • Understand how to create and use libraries
  • Implement libraries in your Flutter app
Day 21

HTTP request in Flutter

  • Learn how to make HTTP requests to get data from remote servers
  • Understand how to use the http package
  • Implement HTTP requests in your Flutter app
Day 22

JSON Parsing

  • Learn how to parse JSON data in Flutter
  • Understand how to use the dart:convert package
  • Implement JSON Parsing in your Flutter app
Day 23

Understanding State Management

  • Learn about the different types of state in Flutter
  • Understand the importance of managing state
  • Choose the right state management solution for your Flutter app
Day 24

Implementing State Management

  • Learn how to implement state management in Flutter
  • Understand how to use setState() and streams
  • Implement a state management solution in your Flutter app
Day 25

Introduction to Persistence

  • Learn about data persistence in Flutter
  • Understand different persistence options
  • Implement basic data persistence in your Flutter app
Day 26

Advanced Persistence

  • Learn about advanced persistence concepts in Flutter
  • Understand how to use databases and key-value stores
  • Implement advanced data persistence in your Flutter app
Day 27

Flutter Plugins

  • Learn how to use plugins in Flutter
  • Understand how to create and use plugins
  • Implement plugins in your Flutter app
Day 28

Testing in Flutter

  • Learn about testing in Flutter
  • Understand how to write and run tests
  • Implement tests in your Flutter app
Day 29

Debugging and Dev Tools

  • Learn the process of debugging in Flutter
  • Understand how to use the DevTools
  • Understand the need to use DevTools and debugging
Day 30

Building and Publishing

  • Understand how to prepare your app for release
  • Build your Flutter app for production
  • Understand how to prepare and publish your app

Shankar Bir Tamang

ShankarBirTamang

While I was wondering how to begin in Flutter development, this event has been very helpful for me to continue the journey. Though there is no live session, but the daily guidance and resource has become very useful for me. Salute for your continuous effort.

📚 Additional Resources

🎉 Yay! Congratulations on completing #30DaysMasterFlutter! 🎉

You must be feeling amazing right now! But wait, there's more! 😃

Flutter is an exciting technology, and there's so much more to learn! Here are some things you are recommended explore next to become an expert Flutter developer.

The possibilities are endless, so keep exploring, practicing, building more and more projects, and having fun! 🚀

Join our community on Discord to connect with fellow learners, share your progress, and get help with any questions you may have throughout the #30DaysMasterFlutter challenge. Join now and get started on your journey to mastering Dart and Flutter!

join now