강의

멘토링

커뮤니티

BEST
Programming

/

Mobile Application Development

Part 2: Intermediate iOS Instagram Clone (SwiftUI, MVVM, Firebase, 2024)

Learn by following the Instagram app Practical SwiftUI lecture

(5.0) 19 reviews

206 learners

  • daynightcoding
클론코딩
토이프로젝트
포트폴리오
인스타그램
iOS
SwiftUI
MVVM
Firebase

Reviews from Early Learners

What you will gain after the course

  • MVVM

  • SwiftUI

  • Firebase

  • Instagram

Hello, I'm agmma, a current iOS developer

I started studying development at 31 while doing other work, and I'm currently working hard as an iOS developer at a subsidiary of one of the major Korean tech companies (NAVER, Kakao, LINE, Coupang).

  • Started studying development at a bootcamp in early 2020 (age 31)

  • At the end of 2021 (age 33), got a job as a junior iOS developer at a subsidiary of one of the major Korean tech companies (NAVER, Kakao, LINE, Coupang)

  • Working at the same company until 2025


As someone who started development at the late age of 30s as a non-major, I deeply empathize with the uncertainty and difficulties that job seekers face more than anyone else. I also understand well the efforts of those who are preparing for career transitions by investing their precious time for continuous growth.

Having spent two years with no income, running solely toward my dream of becoming a developer, I want to provide high-quality courses at reasonable prices to those walking a similar path.

Although not all curriculum has been completed yet, when all the lectures I've planned are released, if you consistently follow my courses, I will create them with a sense of responsibility so that you can acquire all the knowledge needed for a 1-2 year iOS developer.

Instagram Clone Course Released!!!!

Since the last lecture, many of you have been waiting for MVVM and Firebase-based

I've finally released the Instagram Clone course.

Apply MVVM structure to all code

How the MVVM pattern was born, why we use it, what aspects we need to be careful about when using it, etc.

You will learn detailed usage of the MVVM pattern and proceed with coding using this approach.

(↓↓↓Keynote screen capture used in class↓↓↓)


Apply Firebase to All Features

We will create and use a Firebase server together.

(Firebase refers to a very easy-to-use server provided by Google.)

You can store post information, photos, and user information uploaded on Instagram in Firebase and retrieve them from various other devices.


🤔 "AI will do all the development anyway, so do we really need this knowledge?"

📱 "Apps can be made with vibe coding, so isn't it okay not to know this stuff?"


Yes, that's correct. However, this is only possible in situations where AI operates 100% perfectly as people want.

However, it is currently impossible for AI to work perfectly as humans want.

In reality, when building an app, even if AI writes the code for you, you will inevitably encounter situations that cannot be solved by AI alone.
If you used to face these situations 10 or 100 times before, now it's just reduced to about 1-2 times.

And right at that moment of those 1-2 times, you eventually face a situation where you need to directly check and modify the code. What you need at that moment is development knowledge.


To summarize:

  1. Even if AI does most of the coding, there will inevitably be situations that AI cannot solve

  2. At that moment, the only person who could solve the problem was someone with development knowledge

🚀 Bundle Discount 1) Master SwiftUI! Build Real iOS Apps 🎉

Limited-time special discount event
Get 3 popular courses bundled at an unprecedented discount price!

💡 Why You Should Choose This Package
✅ Master everything from SwiftUI basics to real app development in one go
✅ Much more cost-effective package benefits than purchasing individually
✅ Practical know-how you can immediately apply to iOS development work

📚 Structure (3 Lectures)

  1. 🧩 Part0: Learning Swift6 for Absolute Beginners Through Problem Solving (Free)

  2. 🌱 Part1: Real Beginner iOS (SwiftUI·SwiftData, 2024) — ₩77,000

  3. 📸 Part2: Instagram Clone (SwiftUI·MVVM·Firebase, 2024) — ₩99,000

📌 Regular Price: 176,000 KRW
🔥 Event Discount: -35,200 KRW (-20%)
💰 Limited Special Price: 140,800 KRW (80%)

👉 🎁 Get Discount Coupon - Bundle Discount 1) Master SwiftUI! Building Real-World iOS Apps


🚀 Set Discount 2) All the way to Advanced SwiftUI! Practical + Combine Master 🎉

Complete advanced skills all at once with 5 popular courses bundled together! (Includes 3 courses from Set 1)

💡 Why You Should Choose This Package
✅ Set 1 (Beginner→Practical) All Components Included + Advanced Concept Expansion
✅ Complete Mastery of State/Data Flow with Property Wrapper
✅ Learn Asynchronous·Reactive Patterns with Combine → Maximize Real-World Scalability

📚 Structure (5 Lectures)

  1. 🧩 Part0: Learning Swift6 for Absolute Beginners Through Problem Solving (Free)

  2. 🌱 Part1: Real Beginner iOS (SwiftUI·SwiftData, 2024) — ₩77,000

  3. 📸 Part2: Instagram Clone (SwiftUI·MVVM·Firebase, 2024) — ₩99,000

  4. 🔗 SwiftUI Property Wrappers(@State, @Binding, …) — ₩11,000

  5. ⚡️ Combine – Reactive Programming for iOS (2025)₩99,000

📌 Regular Price: ₩286,000
🔥 Event Discount: -₩85,800 (-30%)
💰 Limited Special Price: ₩200,200

👉 🎁 Get Discount Coupon - Bundle Discount 2) Up to Advanced SwiftUI! Practical + Combine Master


⚡️ Attention!
- Please make sure to claim the coupon after accessing the link before purchasing the course
- The discount may end without notice.

Instagram Clone Feature Examples

(All features shown in the capture below are implemented in the course.)

1. Implementing User Registration Functionality


Register the member information with the Firebase server by entering Email, Password, name, and username.

2. Implementing Login Functionality


You can log in with your account information using the registered email and password.

# 3. Profile and Profile Editing Feature Implementation


You can edit the member information of the currently logged-in account.

# 4. Implementing Post Upload Functionality


You can upload posts, which is Instagram's main feature.

When you upload a post, you can view it in the Feed view (Tab 1) and Profile view (Tab 5).

Additionally, the count of user posts in the 5th tab also increases.

5. Implementing the Search Tab


You can search for other registered users in the search tab.

# 6. Implementing the Following Feature


You can follow other accounts.

When you follow someone, the target account's follower count and the current account's following count each increase by 1.

# 7. Implementing the Like Feature


The like feature is also implemented.

You can click the heart button on the post to show your like.

You can also check the cumulative number of likes for that post.

8. Implementing Comment Functionality


You can create a comments page to view all comments left on that post.

Additionally, new comments from current users can also be registered.

9. All features are implemented through communication with Firebase servers.


All the features shown in the gif above were implemented through communication with Google Firebase servers.

All data changes on the iPhone device are sent to Google Firebase, and the modifications are reloaded on the iPhone device. (↓↓↓ Communication with Firebase ↓↓↓)

The information written on the phone is reflected on the server

The view where posts and comments uploaded from Phone A can be checked on Phone B

You'll learn these things

#Intermediate Swift Grammar

Following the basic Swift syntax, we will learn about various Swift syntax structures that allow you to understand and use more complex constructions.

  • Optional: if-let, guard-let, optional binding, nil-coalescing

  • Error Handling: try, try?, try!, do-catch

  • Async-Await: Task, async, await, async-let (concurrent execution)

  • extension

  • enum

  • static function, static variable

  • switch-case

  • ...

#Various SwiftUI Features

We study various SwiftUI framework features, which are the core topics of the course.

I have structured the course by packing in as many features as possible that you, the students, might need when creating a new app.

  • NavigationStack, NavigationLink: Screen Navigation

  • LazyVStack(LazyHStack): A single-column list view

  • LazyVGrid(LazyHStack), GridItem: n-column list view

  • TextField, SecureField (for password input)

  • .refreshable: Pull to refresh

  • .task, .onAppear, onChange: Detecting Screen Changes

  • .sheet: Modal window

  • .searchable (search bar)

  • List vs LazyVStack vs ForEach Comparison

  • scaledToFit, scaledToFill, aspectRatio: Comparing Image Fill Methods

  • @State, @Binding, @Bindable, @Environment: Data Flow Property Wrappers

  • PhotosPicker: Selecting Photos from Images Saved on Your Phone


  • ...

#Using External Libraries

You add code that others have already written to your project to implement various features in the project.

Also, to accurately understand asynchronous operations and caching

Kingfisher vs AsyncImage vs Synchronous Image Loading

We perform each of these three methods and compare them.

  • KingFisher: An external library for asynchronously downloading and caching images

  • Firebase, FireStore, FirebaseAuth: Add an external server to the project to store various data externally (post information, account information, image information).

Example code organized by lecture

Not just providing the final completed code

I provide the lecture code split for each individual lecture.

You can easily find the changed parts of the code

I notice you've mentioned "(↓↓↓실제 예제코드 캡처↓↓↓)" which translates to "(↓↓↓Actual example code capture↓↓↓)", but I don't see any actual content or image attached to translate. Could you please provide the Korean text or content you'd like me to translate to English? Once you share it, I


Player Lecture

I recommend taking the course below before taking the current course.

If you have basic knowledge of Swift and SwiftUI, you can take this course right away, but there may be some challenging parts.

(If you're planning to take only this course, please check the table of contents of the course below to verify that you are familiar with the Swift and SwiftUI concepts explained in the lectures.)

Learn iOS for Complete Beginners (SwiftUI, SwiftData, 2024)


I made an effort to create lectures that are easy to understand.


I was also a beginner once, and there were times when I struggled while learning difficult concepts.

I carefully ensured that no concepts were omitted from the course, recalling those memories from that time.

I tried my best to explain all the code that appears in the lecture, even if it was difficult.

I minimized code that needs to be copied and pasted, and I explain while typing the code together to make it easier for students to understand.


I'm very grateful that you appreciated this part so much in the last lecture as well.

In this course as well, I have worked hard to serve as a guide for your SwiftUI learning journey.

(↓↓Review of the previous beginner iOS course series↓↓)



I put my heart and soul into explaining every concept that appears in the class without missing a single one.

📚 There is an important principle in my lectures.
👉 Every concept that appears in class will definitely be explained.


When I was preparing to become a developer, there were many cases in lectures where important concepts were skipped with the phrase "I'll explain this part later". However, even when we got to the later parts, they often weren't properly covered, and without knowing those concepts, it was really frustrating because it made it difficult to understand the following content. 😥

So in my lectures, I put in a tremendous amount of effort to ensure you don't experience that kind of frustration.

  • When a new concept appears during the lecture, I explain it right away on the spot whenever possible.

  • If there are parts that are difficult to understand right now due to insufficient prior knowledge, I'll help you get a grasp of them first by providing analogies or simple examples.

  • And then, after you've thoroughly learned the necessary background knowledge in later lectures, we come back to that concept and explain it again.

In the end, as you follow along with the class, you won't feel the frustration of "Huh? They said they'd explain this later but just skipped it?", and you'll be able to understand the concepts step by step and thoroughly. ✨

💡 One purchase, yours forever!


As a learner myself, I rarely purchase courses that aren't available for lifetime access.
That's why I've prepared my course to be accessible anytime, with no time restrictions on enrollment.


👨‍💻 Those who have experience in development will know this.
It's impossible to perfectly master every concept with just one viewing.
Some concepts become yours right away, but others require hands-on application in your own projects before you truly understand them.


⏳ However, it's practically impossible to apply all concepts right away.
That's why this course is provided as a lifetime collection, allowing you to return and learn whenever needed.

👉 Even parts that are difficult to understand now can be revisited later when you encounter them in your projects and turned into your own knowledge.
In other words, with a single purchase, it becomes your reliable lifelong learning resource. 🚀

💸 Refunds are available anytime within 7 days of starting the course.


Refund Information

I prepared this course to ensure student satisfaction, but if the course doesn't meet your expectations, you can request a refund without worry. 🙂

⚠️ However, refunds may not be possible in the following cases:

  • If you downloaded the example code

  • After 7 days have passed since course registration

  • If the course progress exceeds 7%

👉 Therefore, for the initial lectures, we recommend that you watch first without downloading the example code.


🔗 Check the exact refund policy

Q. Is there a limit on the course access period?

A. No, with a single purchase, you can learn for a lifetime.

There are no restrictions on the course access period. All of my courses have unlimited access so you can review them anytime.


Q. Does it cost money to create a Firebase server?

A. No, all the features used in my course are completely free.


Q. Can beginners easily follow along?

A. It may be challenging for those who are new to development. However, if you first complete the Part1: Real Beginner's iOS Learning (SwiftUI, SwiftData, 2024) course, this course is structured so that you can fully understand it.

Recommended for
these people

Who is this course right for?

  • Learn SwiftUI code from practice

  • For those who want to learn MVVM

  • Anyone who wants to create their own server communication with Firebase

Need to know before starting?

  • Advance lecture: Learning iOS for real beginners (SwiftUI)

Hello
This is

1,675

Learners

207

Reviews

160

Answers

5.0

Rating

6

Courses

안녕하세요 😀

누구나 쉽게 iOS 개발을 할 수 있도록 돕고 싶은

iOS 개발자 애구마입니다.

강의에 필요한 예제 만드는것을 좋아하고, 입문자에게 필요한 강의를 만들기 위해 연구합니다.

 

 agmma5000@gmail.com 

Curriculum

All

79 lectures ∙ (10hr 20min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

19 reviews

5.0

19 reviews

  • cys020628님의 프로필 이미지
    cys020628

    Reviews 2

    Average Rating 5.0

    5

    97% enrolled

    I recommend studying slowly from Part 1. Even after completing the course, it was good that you made it easy to listen to by directly modifying each lecture when errors occurred due to version differences. I also really liked that you tried to tell me even one more important or necessary part while doing it, and I also liked that you answered questions quickly when I posted them. I highly recommend it to those who want to study step by step.

    • daynightcoding
      Instructor

      Thank you for the kind review! I hope you succeed in getting a job, cys. I'll also make sure to create more great lectures that are necessary for getting a job. You can do it!

  • hansopkim09778님의 프로필 이미지
    hansopkim09778

    Reviews 2

    Average Rating 5.0

    5

    30% enrolled

    • zed님의 프로필 이미지
      zed

      Reviews 2

      Average Rating 5.0

      5

      30% enrolled

      • codingco님의 프로필 이미지
        codingco

        Reviews 6

        Average Rating 5.0

        5

        30% enrolled

        • hae1117377님의 프로필 이미지
          hae1117377

          Reviews 1

          Average Rating 5.0

          5

          100% enrolled

          $77.00

          daynightcoding's other courses

          Check out other courses by the instructor!

          Similar courses

          Explore other courses in the same field!