Skip to content

cp-pratik-k/Flutter-Roadmap

Repository files navigation

Flutter Developer Roadmap 2023

roadmap-image

What is Flutter?

Flutter is an SDK(Software Development Kit) developed by google that allows developer to build native cross-platform apps with just one programming langauage-Dart. From single codebase, it creates native app for ios, Android and web, that can be published to the stores later. view more

Table of Contents:

Flutter Setup

Sprint 1:

Dart basics:

  • Introduction to Dart
  • Dart programming langauage

Practical 1.1

Practical 1.2

  • Upload practical on gitlab or github.
    • You can create repository of practicals and upload practicals 1.1 on Gitlab.
    • You can create Gists from dartpad and upload practicals on github.

Flutter basics:

Practical 1.3

  • create an app with this layout

Code style:

Flutter Tools:

Sprint 2:

Version control:

Practical 2.1

Supporting different devices

Packages & Plugins

DelightFul User experience

  • Intorduction to Material components
  • How to Build Beautiful UIs with Flutter Widgets
    • Udemy Course 1 - Section 6

Practical 2.2

Navigation:

Practical 2.3

  • Implement an app with a bottom bar that has 4 screens (home, setting, like, search).
    • Implement a route between screens.
    • Implement go_router for bottombar navigation or you can use indexedStack for bottombar navigation.

Sprint 3:

Json serialization:

Networking:

Practical 3.1

  • Implement Food Application with following functionality

  • Fetch food feeds from API

  • User should be navigate to its detail page by clicking reciepe

  • Add log click delete functionality on food click to delete food from local storage

  • Implement pull to refresh functionality to refresh cached feeds in local storage.

    API - GET request - 'https://spoonacular-recipe-food-nutrition-v1.p.rapidapi.com/food/ingredient

    headers: { 'X-RapidAPI-Key': '6991e41207mshaaf1e8dd61f03fdp17fbe9jsn3c96953146c7', 'X-RapidAPI-Host': 'spoonacular-recipe-food-nutrition-v1.p.rapidapi.com' }

    • Note:
      • Use http package for networking

Reference:

Work in background

Reference:

Sprint 4:

App Architecture:

State management:

Local storage:

Practical 4.1

  • Create simple TODO app with CRUD operation with SQLite.
  • Home screen should have list of task with add new task fab button.
  • On the click of task it should be redirect to task status screen where it can be edit.
  • On the cell swipe it shows delete option and on it's click that particular task should delete.
  • Add option to active and inactive task.
    • Note
      • Use flutter bloc for state management
      • Use provider for state management

Reference:

Sprint 5

Testing:

Package

Practical 5.1:

  • Add Unit,widget and integration test in practical 4.1

Depenedecy Injection

Reactive programming

Dev Tools:

Sprint 6:

Final Practocal:

1 Implement a shopping application

Screen one - Home screen

  • On main screen show list of products - API

  • Open product detail on it’s click - API

  • Add option to search products by categories - API

  • Add option to check out all product in cart

Screen two - Detail screen

  • Show full detail with images and description
  • Add option to add/remove the product from the cart ( Add/delete an item in local database)

Screen three - Show products from cart

  • Fetch and show all cart item from local database
  • Add option checkout and show total price of products
  • Add option to remove from cart

Screen four - Login

  • User must have to login before adding any item into cart - API
  • Add option to logout

Use navigation 2.0 for routing. Add unit test for all viewmodel and helper classes

2 Make a calculator application. Save calculation history in the database. Users can view history and clear history.

Key Topic:

Advance UI:

Localization:

State Management:

Navigation:

Networking:

Databases:

Dependency Injection:

Others:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages