inflearn logo
inflearn logo

Learning Express.js Properly: Part 1, From Basics to Advanced [Basics]

An Express.js journey from beginner to mastery, flowing like water! A backend journey where you learn properly by directly implementing from basic server concepts to completing a CRUD project.

(4.9) 7 reviews

40 learners

Level Basic

Course period Unlimited

express.js
express.js
Node.js
Node.js
routing
routing
backend
backend
REST API
REST API
express.js
express.js
Node.js
Node.js
routing
routing
backend
backend
REST API
REST API

Reviews from Early Learners

Reviews from Early Learners

4.9

5.0

TAESUN

100% enrolled

I was able to complete the course quickly and without pressure before starting Part 2. It covered all the essentials, and I really appreciated the detailed answers to my questions. I usually watch the lectures quickly and then review by skimming the materials; however, there seemed to be some slight discrepancies between the lectures and the materials. It would be great if this part could be updated!

5.0

Edwards

100% enrolled

I will learn more in the Part 2 advanced course.

5.0

cylee9999

100% enrolled

I enjoyed the lecture. I set a goal to create a practice website to improve my security consulting skills, and I think this will be very helpful. Thank you.

What you will gain after the course

  • Understanding the fundamental concepts of how a web server works.

  • Basic concepts of networking: TCP, HTTP, etc.

  • Creating a Pure Web Server Directly with Node.js

  • Practice with the routing system of Express.

  • Serving Static Files and Understanding Static Middleware

  • Custom Middleware Design and Usage

  • Processing URL Parameters and Query Strings

  • Practice with form data and JSON processing methods.

  • Creating dynamic web pages with EJS templates

  • Completed a real-world backend project implementing CRUD functions.

  • Express: From basic to advanced concepts, gain an in-depth understanding from the basics of building a web server using Express to advanced features.

  • Middleware and Routing: Learn about the concept and usage of middleware in Express, and how to handle requests and responses through routing.

  • RESTful API Development: Learn how to design and implement RESTful APIs using Express.

  • Express Internal Operation Mechanism: Exploring the internal operation mechanism of Express and understanding the operating principles of the framework.

  • Building My Own Express Engine: A project to design and implement my own web framework using Express, gaining a deeper level of understanding.

💡 Learn Express.js Properly: Part 1 From Basics to Advanced

This is an introductory course on Express.js that will help you learn the first steps of Node.js-based backend development in the most systematic way .
From basic server concepts to middleware, routing, templates, error handling, and real-world CRUD projects.
You will learn by writing code yourself, focusing on “why it works this way.”

This lecture is structured like this

🧭 Section 1. The Beginning of the Journey

  • Introduction to the lecture flow and setting goals

🏗 Section 2. Pre-Express: Building a Server from the Ground Up

  • Basic network principles such as TCP, UDP, and HTTP

  • Implementing a pure HTTP server directly with Node.js

  • Understanding the concept of routing

  • Serving static files directly (HTML, CSS, JS)

  • Completely master the concept by implementing static middleware functions directly

Section 3. Express 101: Basics of Building a Web Server

  • Express's basic structure, routing practice

  • Utilizing Static Middleware

  • Create your own custom middleware

  • Understanding the flow of req and res objects

  • Handling JSON and Form Data

  • How to use Params and Query String

  • A collection of middleware examples frequently used in practice

🏛 Section 4. Express 201: Structuring the View Engine and Router

  • Understanding the difference between CSR and SSR and the flow of operations

  • Rendering dynamic pages with EJS templates

  • Practice EJS grammar such as conditional statements, loops, and include statements

  • Separation and modularization of routers by functional unit

  • Organizing various response methods (send, json, status, etc.)

  • Hands-on experience with managing state through cookies

🚨 Section 5. Express 301: Error Handling and Exception Handling

  • How to handle 404, 500 errors

  • Error Middleware Design and Implementation

  • Learn useful exception handling methods in practice

📝 Section 6. Memo Project: Mastering Express with CRUD

  • Start by setting up the entire folder structure.

  • Implementing membership registration, login, and logout functions

  • Creating a Note List API based on login status

  • Practice the entire CRUD process from creating, modifying, to deleting notes

  • Custom middleware and exception handling logic that appear intermittently are also configured.

📌 Key features of this course

🔍 Design where all stages are connected, from concept → flow chart → practice → project

This is not a course that simply teaches grammar and functions.
How the server works and in what order the data flows.
Each flow is visualized in a diagram ,
It is structured so that you can directly connect the concepts to practice and make them completely your own.

Learn by following along to the end: “Why do I need this code?”


👀 A visually centered lecture where you can see and understand all concepts

All the concepts that appear in this lecture—
Routing, middleware chains, HTTP request flow, SSR/CSR structures, error handling, CRUD logic—
Fully visualized and explained with self-created diagrams and flowcharts .

📷 Flowchart + Concept Explanation + Code Practice = Complete Understanding

Minimize abstract explanations,
“Where does data come from, where does it go, and how is it processed?”
We'll make it visible at a glance.


🛠 Hands-on, hands-on backend experience through code

This is not a lecture that you can simply listen to and pass over.
A large part of the lecture is structured around hands-on practice of writing code .
You can build practical skills and confidence by implementing what you have learned step by step.

Not just "code that works",
It is designed with the goal of writing code while understanding “why it is written this way.”


🧱 We delve deep into the inner workings of Express without skimming the surface of its structure.

Express.js is more than just a routing tool.
In this lecture , we will learn about the order in which Express.js executes internally when a request is received.
How req and res are passed and processed ,
Gain a deeper understanding of how errors change the flow by directly implementing or visualizing them .

Rather than simply learning “how to use it,”
Why is the framework called Express.js designed this way ?
We focused on learning structural thinking by implementing core functions directly with your own hands .

📌 And this lecture doesn’t end here.
In Part 2 of this series, we will build on the Express.js structure we have learned so far.
Design and implement your own web framework engine in the style of Express.js
.
It takes you from being a “ developer who knows how to use a framework” to being a “ developer who knows how to create .”


🧭 A practical project that follows the actual flow

In the Notepad project in Section 6,
Sign up → Log in → Save data → Edit/delete
We will configure the structure of a web server from start to finish .
It covers all the elements required for practical use, including router separation, middleware design, request authentication, and CRUD processing .


🧠 A lecture that 'drawing a picture' in your head instead of an abstract concept

Complex interactions between servers and clients,
Differences in the order of the middleware chain, rendering structure, etc.
All the concepts that previously felt vague are organized into a visual story and remain in your head like a picture.

I recommend this to these people

Beginners who are just starting out with backend development

Anyone who wants to learn the basics of web server development using Express.js and Node.js


Front-end developer who wants to handle servers with JavaScript
For those who want to expand the web flow that they only knew about to the front-end structure to the back-end structure

I have used Node.js before, but this is my first time building an actual web server.
I am familiar with file input/output and npm, but this is my first time with routing and middleware.

For those who felt that HTTP request/response and server operation flow were abstract

Anyone who wants to know exactly how requests are processed and what happens in response


For those who want to learn about functional router separation and RESTful API design
Those who want to design a practical server structure and apply it to a project

For those who want to complete a CRUD project through a hands-on lecture
For those who want to learn the Express flow by creating a server that works directly


Your changes after taking the course

  • It becomes immediately clear how Express.js works.
    The process of requests coming in and responses going out, and what middleware does in the middle, are naturally understood through visual flow and practice .

  • You can create a well-structured server divided by function on your own.
    You will be able to divide routers into functions, design middleware, and directly implement the basic structure used in practical backend development .

  • You can freely control the actual data flow handled by the server, such as form submission, JSON processing, URL parameters, cookies, etc.
    It's not just "code that works", but you can also judge for yourself why it runs that way and how to respond when errors occur .

  • You can complete your own CRUD backend project and use it as a portfolio.
    Rather than a simple example, we will create an actual service structure that goes from member registration → login → data processing → modification/deletion .

  • You will gain a full stack feel, being able to handle both front and back end with JavaScript.
    By creating client screens with HTML/CSS/JS and designing and connecting servers with Express, you will gain a single view of the entire web flow.

  • The vague fear that “servers are difficult” disappears, and confidence in web development is gained.
    You can naturally level up by slowly building up through practice-oriented learning and experiencing creating code and drawing out the flow on your own .

💡 Learn these things

This course is not just about following along with the code.
Understand the flow of backend operations 'visually' ,
We focus on the process of visually seeing where and how each concept is actually used and implementing it with your own hands.
All the topics below are explained with flow charts and diagrams that I personally drew , and they become completely mine with practice.

🏗 Pre-Express: How will the server work?

  • When a client sends a request, in what order does the server process the data?

  • TCP vs UDP, visualizing the structure of HTTP with packet flow

  • Implement the minimum server structure directly without Express as the basic HTTP server of Node.js.

[User request] ──▶ "/style.css" │ ▼ path. join ( "public" , "/style.css" ) │ ▼ fs. readFile ( "public/style.css" ) │ ┌──────────┴───────────┐ ▼ ▼ [File exists] [Error occurred] │ │ ▼ ▼ [ Determining MIME Type ] ┌────────────┐ │ │ ENOENT ( 404 )│ ▼ └────┬───────┘ [res. writeHead ( 200 )] ▼ [res. end (data)] res. writeHead ( 404 or 500 ) res. end ( " error " )

Express 101: How does the routing and middleware flow?

  • How user requests are routed and in what order they pass through middleware.

  • Learn how middleware works between request and response in a flowchart.

  • Learn by tracing req and res objects like a stack to see what data they actually have flowing through.

auto 💻 Client request → GET /delivery ┌─────────────────────────────────────────────┐ │ [Step 1] The product has arrived │ └────────────┬────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────┐ │ [Step 2] The product has arrived │ └────────────┬────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────┐ │ [Step 3] Inventory management has begun │ └────────────┬────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────┐ │ [Step 4] Your order has been processed. │ └────────────┬────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────┐ │ [Step 5] Logistics delivery has begun │ │ Go to the router │ └────────────┬────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────┐ │ [Router] GET /delivery │ │ → console .log ("🚚 Logistics delivery started") │ │ → res .send ("

Logistics delivery starts

") │ └─────────────────────────────────────────────┘

🏛 Express 201: How are template engines and routers structured?

  • CSR vs SSR rendering differences fully visualized in web behavior scenarios

  • How data is injected into the page in the EJS template engine

  • Design and visualize the functional unit router separation structure like a department store structure

[ 1 ] Is this website content-centric? (news, articles, etc.) → YES → SSR Recommendation → NO ↓ [ 2 ] Do you interact with users frequently? (comments, chat, real-time updates, etc.) → YES → CSR Recommendation → NO ↓ [ 3 ] Is search engine exposure important? → YES → SSR Recommendation → NO → CSR is also OK

🚨 Express 301: Error Handling, When and How Does It Work?

  • What happens to the internal code flow when requesting a non-existent URL (404)?

  • When an exception occurs during server logic (500), which middleware handles it?

  • Directly check the transmission structure of error handling middleware

🧍 User: /wrong-page request → Wrong page ─────────────────────────────────────── ↓ 📦 Server: - 404 error occurred - Rendering 404 page (404.ejs) - Providing incorrect URLs and guidance messages 🧍 User: Return to homepage from 404 page ─────────────────────────────────────── ↓ 📦 Server: - Redirect to user homepage

📝 Memo Project: Follow the real CRUD flow from start to finish

  • Visualize the entire API flow from sign-up → log-in → note creation/edit/delete

  • Expressing the flow of authentication and state management (Session or Cookie) as a character-centered story

  • Complete practical RESTful API design with schematic specification

POST /users/register - Input: username, password - Action: Register a new user - Output: Success/failure message POST /users/login - Input: username, password - Action: Login, JWT issuance - Output: JWT token (stored in cookie) GET /users/logout - Input: None - Action: Delete JWT (Logout processing) - Output: Redirect to login page [ Express Server Settings] - The server runs on port 3000 by default. - Serving static files via \`express.static\` middleware - JWT authentication middleware: \`authenticateUser\` (allow access only to logged-in users) - File validation middleware: \`ensureDataFileExists\` (create the data file if it does not exist) [Router Connection] - User-related routes: \`/users\` - Memo related routes: \`/memos\`

💬 All flow charts that appear during the lecture are included in the actual class materials .
You can fully internalize the concepts by writing code alongside visual data.
We will organize the materials provided along with the captured images separately.

Hello, welcome to our neighborhood coding studio !

Our Neighborhood Coding Studio is an educational group created by developers who majored in computer engineering at major universities in North America, such as Carnegie Mellon, Washington, Toronto, and Waterloo , and gained practical experience at global IT companies such as Google, Microsoft, and Meta .

It started as a study group for computer science majors from the US and Canada who wanted to study and grow together . Even though we were from different universities and in different time zones, the time we spent solving problems together and learning from each other was very special, and naturally, I had this thought.

“What if we could teach others the same way we studied?”

That question was the starting point for our neighborhood coding studio .

Currently, about 40 current developers and computer engineering college students are in charge of their respective areas of expertise, and they directly design and teach a curriculum that covers everything from introductory to practical. Beyond simply imparting knowledge, we provide an environment where you can learn from the perspective of a real developer and grow together .

“Real developers must learn from real developers.”

We systematically cover the entire process of web development from start to finish, but we do not stop at theory, but develop your skills through practice and practical feedback .
Our philosophy is to think about and guide the growth of each and every student.

Our philosophy is clear:
"True learning comes from practice, and growth is accomplished when we do it together."

From beginners just starting out in development, job seekers looking to develop practical skills, to young people exploring their career paths.
Our neighborhood coding studio aims to be everyone's starting point and a strong companion as we walk together.

Now, don't worry alone.
Our neighborhood coding studio will grow with you.


Welcome to Neighborhood Coding Studio !

Neighborhood Coding Studio was founded by a team of developers who studied computer science at top North American universities such as Carnegie Mellon, the University of Washington, the University of Toronto, and the University of Waterloo , and went on to gain hands-on experience at global tech companies like Google, Microsoft, and Meta .

It all began as a study group formed by computer science students across the US and Canada , created to grow together by sharing knowledge, solving problems, and learning from one another.
Although we were attending different schools in different time zones, the experience was so meaningful that it led us to one simple thought:

“What if we shared this way of learning with others?”

That thought became the foundation of Neighborhood Coding Studio .

Today, we are a team of around 30 active developers and computer science students , each taking responsibility for their area of expertise—designing and delivering a curriculum that spans from foundational knowledge to real-world development.
We're not just here to teach—we're here to help you see through the lens of real developers and grow together .

“To become a real developer, you must learn from real developers.”

Our courses take you through the entire web development journey—from start to finish—focused on hands-on practice, real-world projects, and practical feedback .
We care deeply about each learner's growth and are committed to supporting your path every step of the way.

Our philosophy is simple but powerful:
“True learning comes from doing, and true growth happens together.”

Whether you're just getting started, preparing for your first job, or exploring your future in tech,
Neighborhood Coding Studio is here to be your launchpad—and your trusted companion on the journey.

You don't have to do it alone.
Let Neighborhood Coding Studio walk with you toward your future in development.

🛠 Guide to the practice environment

  • Operating System: Windows, macOS, Linux

  • Development tools: Description based on VS Code (other editors are also possible)

  • Node.js + npm required

  • Course Materials: Practice code and materials are available via Notion link or GitHub

  • Any errors or issues that may arise during the training will be quickly responded to through Q&A.

📘 Prerequisite knowledge required for taking the course

  • Basic grammar of JavaScript (variables, functions, conditional statements, etc.)

  • Install Node.js and use npm, simple CLI operations

  • Basic structural concepts for HTML/CSS

  • Interest in and willingness to learn about API or server concepts.

“Learn Express.js Properly: Part 1 From Basics to Advanced”
Start now. Once you have a clear idea of the structure of Express in your head,
You'll start to see the big picture of backend development.

Recommended for
these people

Who is this course right for?

  • Beginner trying to start backend development

  • A frontend developer curious about Express.js

  • Non-major who wants to experience the workflow of a real-world backend.

  • For those who find the operation of web servers abstract.

  • For those who have used Node.js but are building a real server for the first time.

  • For those who want to experience the entire web flow with JavaScript

  • For those who want to know about the structure of separating routers by function

  • For those who want to develop a feel for RESTful API design

Need to know before starting?

  • JavaScript variables, functions, conditional statements, and other basic syntax

  • Basic CLI experience such as installing npm and running Node.js

  • Structural Concepts of HTML/CSS (Advanced Knowledge Not Required)

  • Interest in or willingness to learn about concepts such as APIs and servers

Hello
This is nhcodingstudio

1,164

Learners

59

Reviews

27

Answers

4.8

Rating

16

Courses

Hello, welcome to Our Neighborhood Coding Studio!

Our Neighborhood Coding Studio is an educational group founded by developers who majored in Computer Science at leading North American universities such as Carnegie Mellon, Washington, Toronto, and Waterloo, and gained practical experience at global IT companies like Google, Microsoft, and Meta.

It originally began as a study group created by computer science majors in the U.S. and Canada to study and grow together. Although we were at different universities and in different time zones, the time we spent solving problems together and learning from one another was very special, which naturally led to this thought.

"What if we pass on this exact way we studied to others?"

That question was the starting point for Our Neighborhood Coding Studio.

Currently, approximately 30 incumbent developers and computer science students are in charge of their respective fields of expertise, directly designing and teaching a curriculum that spans from introductory to practical levels. Beyond simple knowledge transfer, we provide an environment where you can learn from the perspective of a real developer and grow together.

“Real developers must learn from real developers.”

We systematically cover the entire process of web development from start to finish, but we don't stop at theory; we help you build your skills through practice and practical, real-world feedback.
Our philosophy is to care about and lead the growth of each and every student.

🎯 Our philosophy is clear.
"True learning comes from practice, and growth is completed when we are together."

From beginners starting development for the first time to job seekers looking to enhance their practical skills and teenagers exploring their career paths,
Neighborhood Coding Studio aims to be the starting point for everyone and a reliable companion walking right beside you.

Now, don't struggle alone.
Neighborhood Coding Studio will be there for your growth.


Welcome to Neighborhood Coding Studio!

Neighborhood Coding Studio was founded by a team of developers who studied computer science at top North American universities such as Carnegie Mellon, the University of Washington, the University of Toronto, and the University of Waterloo, and went on to gain hands-on experience at global tech companies like Google, Microsoft, and Meta.

It all began as a study group formed by computer science students across the U.S. and Canada, created to grow together by sharing knowledge, solving problems, and learning from one another.
Though we were attending different schools in different time zones, the experience was so meaningful that it led us to one simple thought:

"What if we shared this way of learning with others?"

That thought became the foundation of Neighborhood Coding Studio.

Today, we are a team of around 30 active developers and computer science students, each taking responsibility for their area of expertise—designing and delivering a curriculum that spans from foundational knowledge to real-world development.
We’re not just here to teach—we’re here to help you see through the lens of real developers and grow together.

“To become a real developer, you must learn from real developers.”

Our courses take you through the entire web development journey—from start to finish—focused on hands-on practice, real-world projects, and practical feedback.
We care deeply about each learner’s growth and are committed to supporting your path every step of the way.

🎯 Our philosophy is simple but powerful:
"True learning comes from doing, and true growth happens together."

Whether you're just getting started, preparing for your first job, or exploring your future in tech,
Neighborhood Coding Studio is here to be your launchpad—and your trusted companion on the journey.

You don’t have to do it alone.
Let Neighborhood Coding Studio walk with you toward your future in development.

More

Curriculum

All

47 lectures ∙ (2hr 31min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

7 reviews

4.9

7 reviews

  • taesun420님의 프로필 이미지
    taesun420

    Reviews 5

    Average Rating 5.0

    5

    100% enrolled

    I was able to complete the course quickly and without pressure before starting Part 2. It covered all the essentials, and I really appreciated the detailed answers to my questions. I usually watch the lectures quickly and then review by skimming the materials; however, there seemed to be some slight discrepancies between the lectures and the materials. It would be great if this part could be updated!

    • nhcodingstudio
      Instructor

      Hello, TAESUN. I am the knowledge sharer. First of all, thank you very much for taking the course <Learning Express.js Properly: Part 1 From Basics to Advanced [Basic Level]> and for leaving such a valuable review. The thoughtful feedback you provided is a great source of strength for me. I am glad to hear that you were able to efficiently solidify your foundations before moving on to Part 2. In particular, your valuable feedback regarding the discrepancies between the lecture materials and the actual lecture content is a huge help in creating a better educational environment. I will carefully review the areas you mentioned that need supplementation and make improvements so that students do not experience any inconvenience while reviewing. To support your passionate learning, I would like to offer you a small benefit. If there are any additional courses you wish to take within our curriculum, please feel free to contact me at the email address below. I will send you a discount coupon immediately upon confirmation. Inquiry Email: jeony0535@naver.com Thank you once again for taking the time to leave such warm words and useful feedback. I will sincerely root for your growth :D

  • edwards님의 프로필 이미지
    edwards

    Reviews 18

    Average Rating 5.0

    Edited

    5

    100% enrolled

    I will learn more in the Part 2 advanced course.

    • nhcodingstudio
      Instructor

      Hello, Edwards. This is the instructor. First of all, thank you very much for taking the course <Learn Express.js Properly: Part 1 From Basics to Advanced [Basics]> and for leaving such a precious review. The positive message you left gives me great strength. Based on the foundations you built in the basic course, I sincerely hope you gain a lot of in-depth knowledge that will be of practical help to you in the following Part 2 advanced course. If you encounter any difficulties while studying, please feel free to leave a question at any time. To support your passionate learning, I would like to offer you a small benefit. If there are any additional courses you wish to take among our curriculum, please contact me at the email address below. I will send you a discount coupon immediately after checking. Inquiry Email: jeony0535@naver.com Thank you once again for taking your valuable time to leave such warm words. I will sincerely root for your growth :D

  • potato9801245279님의 프로필 이미지
    potato9801245279

    Reviews 5

    Average Rating 5.0

    5

    32% enrolled

    • nhcodingstudio
      Instructor

      Hello, Coding-nim. This is the instructor. First of all, thank you so much for taking the course <Learn Express.js Properly: Part 1 From Basics to Advanced [Basics]> and for leaving such a valuable review. The feedback you provided is a great source of strength for me. I sincerely hope that the foundation you built through this course serves as a solid stepping stone for your backend development journey. If you have any questions while studying, please feel free to leave them at any time. To support your passionate learning, I would like to offer a small benefit. If there are any additional courses in our curriculum that you wish to take, please feel free to contact me at the email address below. I will send you a discount coupon immediately after checking. Inquiry Email: jeony0535@naver.com Thank you once again for taking the precious time to leave such warm words. I am sincerely rooting for your growth :D

  • gohome님의 프로필 이미지
    gohome

    Reviews 20

    Average Rating 4.8

    5

    100% enrolled

    • nhcodingstudio
      Instructor

      Hello GoHome 😊 Thank you so much for leaving such a valuable review! 🙏 I believe you've built a solid foundation in backend development through [Properly Learning Express.js Part 1]. If you'd like to go beyond the basics and dive deep into how the frameworks we use are internally designed and operate, I highly recommend the [Building a Node.js Server Engine – Learning Framework Design through Express.js Clone] course! (Course link: https://inf.run/crQUa) The process of thinking about 'how to build' rather than just 'how to use' will be a major turning point in your growth, GoHome. To support your passionate learning journey, if you leave your email address, I'll send you a discount coupon so you can start the course on a great note. 🎁 I'll continue to accompany you on your deeper learning journey. Have a wonderful day, and feel free to reach out anytime with questions! 🌿 👉 https://open.kakao.com/o/gC10Fnoh

  • cylee9999님의 프로필 이미지
    cylee9999

    Reviews 2

    Average Rating 5.0

    5

    100% enrolled

    I enjoyed the lecture. I set a goal to create a practice website to improve my security consulting skills, and I think this will be very helpful. Thank you.

    • nhcodingstudio
      Instructor

      Hello, cylee9999. This is the instructor. First of all, thank you very much for taking the course <Mastering Express.js: Part 1 From Basics to Advanced [Basic Edition]> and for leaving such a precious review. The positive feedback you provided is a huge source of strength for me. Your goal of building your own practice web application to enhance your security consulting skills is very impressive. Since a solid foundation allows for even more robust security design, I sincerely hope this course serves as a practical stepping stone for you to achieve your wonderful goals. To show my support for your passionate learning, I would like to offer you a small benefit. If there are any additional courses in our curriculum that you wish to take, please feel free to contact me at the email address below. I will send you a discount coupon immediately upon confirmation. Inquiry Email: jeony0535@naver.com Thank you once again for taking the time to leave such warm words. I will continue to cheer for your growth! :D

nhcodingstudio's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!

$17.60