인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
BEST
Programming

/

Mobile Application Development

[Code Factory] [Intermediate] Flutter Real Practice! State Management, Cache Management, Code Generation, GoRouter, Authentication Logic, etc. Essential Skills to Become an Intermediate!

This course will help junior Flutter developers learn the essential knowledge needed to become intermediate Flutter developers in a short period of time.

(4.9) 146 reviews

2,685 students

Flutter
Hybrid App
Thumbnail

This course is prepared for Intermediate Learners.

What you will learn!

  • Flutter

  • Riverpod status management

  • Pagination

  • JWT token management and authentication

  • Optimistic Response

  • JsonSerializable

  • GoRouter

  • Retrofit

  • Dio token management automation

  • OOP in practice

  • Debounce and Throttle

Want to upgrade to an intermediate Flutter developer?
Code Factory's practical lectures that you can trust and see 🖥

Kyobo Bookstore 2023 first half best-selling lecture taught directly by the author

The only app development book ranked in the TOP30 in the Computer/IT category\

 

Achieve Super Rookie in 2022 with Flutter alone!

A course sought after by large corporations! We guarantee the best course, as proven by reviews!

 

 

🙋‍♂️ Things to note before taking the class


  • This course is not designed to simply create a "delivery app"! It is absolutely not a clone coding, so it may not be suitable for those who simply want to learn how to create a delivery app. The delivery app concept is just a medium for the programming knowledge I want to convey. Please refer to it because it contains knowledge that you must know and can apply to any app!
  • Compared to the Code Factory Flutter beginner course, the difficulty level is much higher! It contains knowledge that is absolutely necessary for practical use, so please take the course with the mindset of repeating it over and over again to make it completely yours. I am confident that after absorbing it 100%, you will become a developer who can immediately start working!
  • This project provides a REST API server based on NestJS that I personally created to help you gain a sense of real-world server integration. While looking at the Swagger server documentation, you will learn essential knowledge that junior developers need to know while performing API integration as if it were a real-world situation.

What you'll learn 📚


1) Authentication (Authentication logic)

Among the most commonly used Token Authentication systems in modern times, we will study a system that authenticates using Refresh Token and Access Token. We will also learn how to automatically renew tokens using Dio.


2) Pagination

After learning the theories of Page-based Pagination and Cursor-based Pagination, we will delve deeper into how to efficiently solve Cursor Pagination with OOP.


3) JsonSerializable

JsonSerializable eliminates the need to write code to serialize JSON into objects when creating models. Learn the basic usage of JsonSerializable and how to apply inheritance in conjunction with Pagination.


4) Retrofit

Retrofit is the most useful tool in Flutter's Code Generation, and it automatically maps REST APIs. It is a package that works very well with JsonSerializable. All API mappings are done using Retrofit.


5) Riverpod and Cache Management

Learn how to use all the providers in Riverpod and apply them in practice. Additionally, learn how to manage multiple providers simultaneously and optimize cache management.

6) GoRouter

GoRouter, a routing library used in apps/web, provides useful features such as Dynamic Link, Deep Link, Redirect, and Refresh rules as standard. Through this, we will perfectly configure the authentication system.


7) Debounce and Throttle

Debounce and Throttle are important technologies that can be used to consider server overload and app optimization. In this lecture, we will learn about the appropriate use cases and usage of Debounce and Throttle.


8) Swagger

Learn how to understand API specifications and translate them into front-end code using Swagger, the most widely used documentation tool for server developers to communicate with front-end developers.


9) Optimistic Response

Optimistic Response is a technique that predicts positive responses and updates the cache in advance. In this lecture, you will learn how to apply it in which situations.


Introducing,
Project Screen! 🤸‍♀️

#1 Splash Screen

Set up the authentication/verification logic and routing logic required when running the app for the first time.

#2 Login Page

This is the login screen.

#3 Restaurant List Page

This is the home screen that paginates restaurant information.
Learn about Pagination and Throttle and apply them in practice.

#4 Restaurant details page

You can select the food you want to order by going to the restaurant's details page, and if you scroll down, you can also see restaurant reviews.
You can check it out. Let's apply multiple Sliver Lists in practice using Custom Scroll View.

#5 Shopping Cart Page

This is the shopping cart screen where you can check the foods you have selected.
Learn and apply the Optimistic Response and Debounce features.

#6 Food List Tab

This is a page where you can view a list of foods.
Learn about pagination generalization and advanced cache management features.

#7 Order List Wrap

Let's generalize Pagination into a tab where you can view orders.

#8 Profile tab

This is the profile tab with a logout function.


A word from the lecture 🎙

Since Flutter was released, I have personally experienced many large and small projects. And recently, while interviewing for recruitment and consulting purposes, I felt that many front-end developers are excessively focused on simply drawing UI. Of course, drawing a good-looking UI is one of the most important skills for a front-end developer. However, it is equally important to have a thorough understanding of computer science and projects, and to write code without unnecessary details .

This lecture will help Flutter developers with limited practical experience learn what to consider when writing code in terms of smooth collaboration and maintenance . Unlike the Flutter beginner's course, this lecture focuses on the knowledge that intermediate Flutter developers must know and good code writing methods while working on a single project. We intentionally planted traps in the middle of the project and focused on feeling firsthand how to write better code by overcoming them. The focus is on improving the skills of junior-level Flutter developers to a level where they can be put into practice. We will study essential knowledge that you must know in an actual project, such as Authentication system, Refresh, Access Token management, global state management, Pagination, Debounce, and Throttle, by applying them to an actual project at once.


I recommend this to these people 🖐

I'm just getting rid of the Flutter beginner tag.
Anyone who wants to level up their knowledge

I know a little bit about Flutter programming.
People who are at a loss when it comes to starting a project


I've collected course reviews 📜


Best communication 🧑🏼‍🏫

I interact with students through Q&A sessions via YouTube Live every week!

If you would like to receive YouTube live push notifications, please subscribe to the Code Factory YouTube channel below!

> Go to Code Factory YouTube Channel

 


Code Factory Writing Books

Must Have Code Factory's Flutter Programming book is a book that I personally wrote after investing a long time in it!
There are some contents that overlap with the beginner's lecture, and there are also lectures on Firebase and advertisements that are not in the beginner's lecture!
Recommended for those who like eBooks or physical books!
The book can be found at major bookstores such as Kyobo Bookstore, Yes24, and Aladdin!
Please click on the image below to move!


Q&A 💬

Q. Do I have to take the Code Factory Flutter beginner course?

If you already have knowledge equivalent to the Code Factory Flutter beginner course, you do not need to take additional courses. However, since this course is designed based on the assumption that you have taken the Code Factory Flutter beginner course, the concepts already explained will not be explained repeatedly. If you do not have knowledge equivalent to at least the Code Factory Flutter beginner course, this course will be difficult to follow, so please take the beginner course first!

Q. Is this a course on creating a delivery app?

The concept of the project being conducted is a delivery app. However, this lecture has nothing to do with the UI/UX or functional flow of the delivery app. It only uses the "concept" as a medium to convey knowledge, and it is a lecture that acquires general knowledge that junior Flutter developers must know to become intermediate Flutter developers. Do not take this lecture simply to "make a delivery app"!

Q. What level of developer can I become by taking this course?

In short, I think it is at a level where you can immediately put it into practice. I have included knowledge that I think Flutter developers should know, based on my experience with various projects and interviews over a long period of time.


Want more Code Factory lectures?

[Introduction] Dart Language
Complete conquest in 4 hours

  • Dart programming language
  • Object-oriented programming
  • Functional Programming
  • Asynchronous programming

[Beginner] Flutter 3.0 App Development
- Escape from beginner level with 10 projects!

  • Master the Dart Language
  • Creating beautiful UIs with Flutter
  • SQLite database utilization
  • Creating a video player app

[Intermediate] Flutter in real practice!
Essential Skills to Become a Master

  • GoRouter
  • JsonSerializable
  • Dio token management automation
  • Debounce and Throttle

Other ✔️

(1) Other channels where you can get help and learn!

🏭 Code Factory YouTube
🔥 Code Factory Discord
💬 Code Factory Kakao Open Talk

(2) Images shared for lecture purposes

The images I provide in the lectures are images that I purchased for a fee. I purchased the rights to create and distribute my works, but you must never distribute the images to others or on the Internet! Do not use the images for purposes other than studying, as this may result in legal issues due to copyright infringement.

(3) How to ask questions

One way to really improve your skills quickly while learning programming is to learn how to ask the right questions. Because of the nature of programming, it's hard to look at the entire code. So if you upload the entire code of the widget that's causing the problem and say, "This doesn't work!", it's hard for me to answer.
When asking a question, if you organize it well in the three steps below, we can communicate and answer you much faster!

1️⃣ How do I think it should work?
2️⃣ How it works now
3️⃣ Where exactly is the code and what problems are occurring (if there are even examples👏)

Recommended for
these people!

Who is this course right for?

  • Those who are confident that they can repeatedly take and absorb difficult concepts

  • Anyone who wants to upgrade their flutter development skills

  • Anyone who has completely absorbed the Code Factory Flutter beginner course

  • For those who want to experience practical projects

  • Junior developer without senior engineer in the company

Need to know before starting?

  • Flutter Junior Developer Level Knowledge

Hello
This is codefactory

Students

24,331

Reviews

1,202

Rating

5.0

Courses

6

안녕하세요 프로그래밍 강사 코드팩토리입니다!

코드팩토리 통합 링크
https://links.codefactory.ai

 

🏭 코드팩토리 유튜브 바로가기
🔥 코드팩토리 Discord 바로가기
💬 코드팩토리 카카오 오픈톡 바로가기

 

💼 주식회사 코드팩토리 대표

 

🏆 2023년 인프런 베스트셀러 수상

🏆 <<Must Have 코드팩토리의 플러터 프로그래밍>> 서적 2023 상반기 교보문고 컴퓨터/IT 부문 베스트셀러 23위

🏆 AWS Certified Developer Associate

🏆 AWS Certified Solutions Architect

Curriculum

All

147 lectures ∙ (21hr 6min)

Lecture resources

are provided.

  • Specifying color constants

    08:25

Published: 
Last updated: 

Reviews

Not enough reviews.
Become the author of a review that helps everyone!