Mu-selim / Flutter-Roadmap

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A Roadmap for developing mobile apps using Flutter

Flutter Dash Character: we are very excited to have you on board!

This roadmap was created for the Flutter committee in IEEE Mansoura Computer Society Chapter by Omar Nabil Elmesiry, head of the committee. I hope you get the most benefit from it. Also, I would like to thank Code2Start channel very much for the amazing content provided that I built most of the roadmap on. Don't waste any time, let's get started!

Objectives:

The main goal for this committee is to prepare committee members for being able to work as a Flutter Developer, either in a company or as a freelancer. In order to achieve this main goal, we have to the following objectives to focus on:

  • Building active cooperative environment that enables everyone to communicate his/her ideas, opinions, work, or anything the member would like to share in a professional formal manner.
  • Building active individuals that have advanced public speaking skills, advanced researching and self learning skills, and advanced writing skills, especially when writing about projects or technical concepts.
  • Advancing in basic programming concepts, OOP for example, and essential methodologies such as Clean Code.
  • Advancing in basic and intermediate flutter concepts that are essential for building full simple and intermediate mobile apps.
  • Introduction to some advanced software development concepts such as Clean Architecture and Design patterns.
  • Building projects portfolio from different projects starting from the advanced level, some of the projects will be as individuals and others will be in teams.

Levels:

  • Beginner: Dart
  • Intermediate: Flutter
  • Advanced: Practical Experience in Flutter
  • Advanced Software Development

Beginner: Dart

Dart by Google

Objectives:

  • Learning concepts related to basics of programming, such as: compiler, IDE, packages, libraries.
  • Having a good background about Flutter and Dart.
  • Learning Dart Programming language basics, common data structures, OOP, exception, and Futures.
  • Solving a lot of programming problems using Dart.
  • Learning about widgets, state, stateful & stateless widgets, and some common widgets.

Weeks:

Final Projects: Beginner Level

Intermediate: Flutter

Flutter by Google

Objectives:

  • Learning more advanced Flutter widgets, such as GridView and ListView.
  • Gaining very good practical experience with UI coding in Flutter.
  • Learning about pub.dev, how to add and use packages.
  • Learning how to use Git & Github as a Version Control System.
  • Learning how to use APIs using https package.
  • Learning how to store data locally using sqflite package.
  • Learning about common ways to create Animations in Flutter.

Weeks:

Final Projects: Intermediate Level

Advanced: Practical Experience in Flutter

Flutter by Google

Objectives:

  • Advancing in UI coding & using APIs in applications.
  • Learning about Firebase services and how to use Firebase Authentication, Firebase Storage, Firebase Firestore.
  • Learning how to achieve State Management in your application using provider package.
  • Learning about Clean Code and SOLID Principles.

Weeks:

Final Projects: Advanced Level

Advanced: Practical Experience in Flutter

To be added soon...

About