inflearn logo

[Beginner/Intermediate] Flutter Todo App - FlutterBloc

I hope that through this course, you will gain even a single piece of new knowledge and grow into a Flutter app developer who is better than the "you" of yesterday.

30 learners are taking this course

Level Intermediate

Course period Unlimited

Flutter
Flutter
clean-architecture
clean-architecture
bloc
bloc
Flutter
Flutter
clean-architecture
clean-architecture
bloc
bloc

What you will gain after the course

  • Clean Architecture (Simplified)

  • Apply DI

  • FlutterBloc State Management

  • Custom UI

Let's build a Todo app with Flutter,
shall we dive into some live coding? 💻

📢 Please check before taking the course!

  • This course does not provide explanations of basic theory.
  • The source code used in the lecture is not provided. To improve your skills, please write the code yourself and practice repeatedly.

Learning Flutter by Building Apps 🚀

Through this lecture, let's create a Todo app inspired by the basic iOS Notes app. This course is conducted in a live coding format, covering everything from project preparation to the final touches. There is very little explanation of basic theory, but you can find additional details in the class notes! By working on the project together, you will learn Clean Architecture, DI, BLoC state management, Custom UI, and more.

pubspec.yaml

These are the libraries
used in the project!

Since versions may change,
I have removed the caret (^)!

  • environment:
    • sdk: '>=2.17.0 < 3.0.0'
  • dependencies:
    • freezed_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

What you will learn 📖

Step 1.
Project Preparation

It contains three preparation processes.

  • Project folder structure work
  • Preparing routes for screen transitions
  • Preparing DI (Dependency Injection)

Step 2.
Basic UI Work

Proceed with the UI work to be used in the app.

  • Common Theme
  • Common Button
  • Common Bottom Navigation Bar
  • Common Dialog
  • Folder Tile
  • Folder Input Dialog
  • Memo Tile

Step 3.
Data Modeling

Proceed with data modeling using the Freezed package.

  • Add Freezed package
  • Create Folder Model
  • Create Memo Model

Step 4.
DB Operations

Perform DB operations using the Hive package.

  • Add Hive package
  • Apply Hive to the folder model
  • Apply Hive to the Memo model
  • HiveDB > CRUD Operations
  • LocalDB Abstraction Class Work
  • LocalDB > Singleton Registration

Step 5.
Folder Screen Development
Memo Screen Development
Add/Edit Memo Screen Development

Proceeding with the screen work.

  • Screen work based on the UI created in Step 2
  • Repository work based on the models and DB created in Step 3 and Step 4
  • Repository > Singleton Registration
  • FlutterBloc (Cubit) task for linking data and screens
  • LocalDB > Repository > FlutterBloc(Cubit) > Screen 

Q&A 💬

Q. Is it helpful for real-world work?

If you understand and move forward, it will be helpful in the field and can be applied immediately.

Q. How much can I grow?

Since there is only one example, I believe you can achieve significant growth if you clearly understand each section before moving on. Also, because the code provided in the lecture is not the only "correct" answer, rewriting someone else's code in a new way will be a great help to your growth.

Q. Do you not use other state management packages?

I have used Provider and GetX. In conclusion, as long as you understand the concept of state management, you can use whichever state management package works best for you.

Q. Can I ask questions about topics other than the lecture content?

Questions outside of the lecture content are not allowed. However, I believe most questions will be related to the lecture content anyway. 😊

Q. I feel like the lecture explanations are quite lacking; is there another reason for this?

The core of this lecture is more about sharing my development process rather than providing detailed explanations, which is why the descriptions might feel lacking. However, I believe there are many valuable points you can take away from it.


Recommended for
these people

Who is this course right for?

  • Those who will be working on the new project

  • Those who will grow through repetitive learning

  • Those with the mindset of gaining at least one thing.

Need to know before starting?

  • Dart Language

  • Flutter Basic Knowledge

  • Flutter Asynchronous Programming Knowledge

Hello
This is Gasigogi

I am a Flutter & iOS developer who has been developing with Flutter since 2019..

I am very interested in the team members' developmental growth. 😁

I especially love code reviews. 😊

It seems like there are so many talented developers in the world! On the other hand, I still feel that my own development skills are lacking. I try to acknowledge my shortcomings and work to fill those gaps.

It seems like there are so many people in the world who are great at development!

On the other hand, I still feel that my development skills are lacking.

I acknowledge my shortcomings and strive to overcome them.

Where can I fill those gaps?

It's right there! It's your "colleagues." I am growing by filling in my gaps through my colleagues, and conversely, I share my strengths with them to help with their areas of improvement.

It's right there!

It is your "colleagues."

I am growing by filling in my own shortcomings through my colleagues,

Conversely, I share my strengths with my colleagues to fill their gaps, growing "together."

I am now your "colleague." I hope that through my knowledge, you will become a developer who has grown more than the "you" of yesterday, and I also hope to take a step further through your feedback.

I am now your "colleague".

I hope that through my knowledge, you will become a developer who has grown more than the "me" of yesterday, and

I will also become a developer who grows further through your feedback.

More

Curriculum

All

45 lectures ∙ (5hr 28min)

Published: 
Last updated: 

Reviews

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

Similar courses

Explore other courses in the same field!

25% off for new members

$57.00

25%

$77.00