Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Mobile Application Development

[Beginner-Intermediate] Flutter Todo App - FlutterBloc

I hope that through this lecture, you will gain at least one piece of knowledge that you didn't know before and become a better Flutter app developer than the "me" of yesterday.

29 learners are taking this course

  • gasigogi
flutter
모바일앱
앱개발
Flutter
clean-architecture
bloc

What you will learn!

  • Clean Architecture (Simplified)

  • Apply DI

  • FlutterBloc State Management

  • Custom UI

Creating a Todo App with Flutter,
Want to try some live coding? 💻

📢 Please check before taking the class!

  • This lecture does not explain the basic theory.
  • The source code used in this lecture is not provided. To improve your skills, please write it yourself and study it repeatedly.

Learn Flutter by building apps 🚀

In this lecture, you'll build a Todo app inspired by the default iOS Notes app. This course will be conducted in a live coding format, from project preparation to completion. While there's little explanation of basic theory, you can find any missing explanations in the class notes! Through this project, you'll learn about clean architecture, dependency injection, BLoC state management, custom UI , and more.

pubspec.yaml

Used in the project
It's a library !

The version may be different
I removed the caret (^) !

  • environment:
    • sdk: '>=2.17.0 < 3.0.0'
  • dependencies:
    • frozen_annotation: 2.2.0
    • flutter_bloc: 8.1.1
    • get_it: 7.2.0
    • hive: 2.2.3
    • hive_flutter: 1.1.0
    • intl: 0.17.0
  • dev_dependencies:
    • build_runner: 2.3.2
    • freezed: 2.3.0
    • hive_generator: 2.0.0

Learn this 📖

Step 1.
Project Preparation

It contains three preparation steps.

  • Working with project folder structure
  • Preparing routes for screen transitions
  • DI (Dependency Injection) preparation

Step 2.
Basic UI tasks

We're working on the UI tasks that will be used in the app.

  • Common themes
  • Common Button
  • Common bottom navigation bar
  • Common Dialog
  • Folder tile
  • Folder input dialog
  • Memo Tile

Step 3.
Data Modeling

We will be using the Freezed package to perform data modeling tasks.

  • Add Freezed package
  • Create a folder model
  • Create a memo model

Step 4.
DB operations

We use the Hive package to perform DB operations.

  • Add Hive package
  • Applying Hive to the Folder Model
  • Applying Hive to the memo model
  • HiveDB > CRUD operations
  • Working with LocalDB Abstraction Classes
  • LocalDB > Registering a singleton

Step 5.
Folder screen operations
Working with the Notes screen
Add/Edit Note Screen Operations

We are working on the screen.

  • Screen work based on the UI worked on in Step 2
  • Repository work based on the model and DB worked on in Step 3 and Step 4
  • Repository > Register Singleton
  • Working with FlutterBloc (Cubit) to connect data and screens
  • LocalDB > Repository > FlutterBloc(Cubit) > Screen

Q&A 💬

Q. Is it helpful in the field?

If you understand and move on, it will be helpful in your field and can be applied right away.

Q. How much can I grow?

Since there's only one example, I believe you'll achieve significant growth if you understand and move through each section clearly. Furthermore, because the code presented in the lecture isn't always the correct answer, rewriting someone else's code in a new way can be a huge help in your growth.

Q. Do you not use any other state management packages?

I've used Provider and GetX. The bottom line is, as long as you understand the state management concept, you can use whichever state management package works best for you.

Q. Can I ask questions outside of the lecture content?

Questions outside of the lecture content are not allowed. However, I believe most of them are related to the lecture content. 😊

Q. I feel like the lecture explanation is lacking. Is there another reason?

The purpose of this lecture is to share my development process rather than simply explain it, so the explanation may be lacking. However, I believe you'll gain many valuable insights.


Recommended for
these people

Who is this course right for?

  • For those who are working on a new project

  • Those who will grow through repeated learning

  • People who have the mindset to get at least one thing

Need to know before starting?

  • Dart language

  • Flutter Basics

  • Flutter Asynchronous Programming Knowledge

Hello
This is

2019년부터 Flutter 개발을 시작한 Flutter & iOS 개발자입니다.

저는 팀 구성원개발 성장에 관심이 많습니다. 😁

특히 코드 리뷰를 좋아해요. 😊

 

세상에는 개발을 잘하는 사람들이 많은 것 같아요!

반면에 저는 여전히 개발 실력이 부족하다고 생각합니다.

저는 부족함을 인정하고 부족함을 채우려고 노력합니다.

부족함은 어디서 채울 수 있을까요?

 

바로!

여러분들의 "동료" 입니다.

저의 부족한 부분은 동료로부터 부족함을 채우며 성장하고 있고

반대로 저의 강점을 동료에게 공유하여 부족한 부분을 채워주며 "함께" 성장합니다.

 

저는 이제 여러분들의 "동료" 입니다.

저의 지식을 통해 어제의 "나" 보다 성장한 개발자가 되시길 바라며

저 또한 여러분들의 피드백을 통한 한층 더 성장한 개발자가 되겠습니다.

Curriculum

All

45 lectures ∙ (5hr 28min)

Published: 
Last updated: 

Reviews

Not enough reviews.
Please write a valuable review that helps everyone!

$77.00

Similar courses

Explore other courses in the same field!