강의

멘토링

로드맵

Inflearn brand logo image
Programming

/

Web Development

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.

(5.0) 1 reviews

23 learners

  • nhcodingstudio
express.js
node.js
백엔드
Node.js
routing
backend
REST API

What you will learn!

  • 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

181

Learners

7

Reviews

4.4

Rating

10

Courses

안녕하세요, 우리동네코딩 스튜디오에 오신 것을 환영합니다!

우리동네코딩 스튜디오는 카네기 멜론, 워싱턴, 토론토, 워터루 등 북미의 주요 대학에서 컴퓨터공학을 전공하고, Google, Microsoft, Meta 등 글로벌 IT 기업에서 실무 경험을 쌓은 개발자들이 함께 만든 교육 그룹입니다.

처음에는 미국과 캐나다의 컴퓨터공학 전공자들끼리 함께 공부하며 성장하고자 만든 스터디 모임에서 시작되었습니다. 각기 다른 대학, 다른 시간대에 있었지만 함께 문제를 해결하고 서로에게 배운 그 시간은 매우 특별했고, 자연스럽게 이런 생각이 들었습니다.

“우리가 공부하던 이 방식, 그대로 다른 사람에게도 전하면 어떨까?”

그 물음이 바로 우리동네코딩 스튜디오의 출발점이었습니다.

현재는 약 30명의 현직 개발자와 컴퓨터공학 전공 대학생들이 각자의 전문 분야를 맡아, 입문부터 실전까지 아우르는 커리큘럼을 직접 설계하고 강의합니다. 단순한 지식 전달을 넘어, 진짜 개발자의 시선으로 배우고 함께 성장할 수 있는 환경을 제공합니다.

“진짜 개발자는, 진짜 개발자에게 배워야 합니다.”

저희는 웹 개발의 전 과정을 처음부터 끝까지 체계적으로 다루되, 이론에 머무르지 않고 실습과 실전 중심의 피드백을 통해 실력을 키워드립니다.
수강생 한 사람, 한 사람의 성장을 함께 고민하고 이끌어가는 것이 우리의 철학입니다.

🎯 우리의 철학은 분명합니다.
"진정한 배움은 실천에서 오고, 성장은 함께할 때 완성된다."

개발을 처음 시작하는 입문자부터, 실무 능력을 키우고 싶은 취업 준비생, 진로를 탐색 중인 청소년까지.
우리동네코딩 스튜디오는 모두의 출발점이자, 함께 걷는 든든한 동반자가 되고자 합니다.

이제, 혼자 고민하지 마세요.
우리동네코딩 스튜디오가 여러분의 성장을 함께하겠습니다.


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.

Curriculum

All

47 lectures ∙ (2hr 31min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

1 reviews

5.0

1 reviews

  • wanje125님의 프로필 이미지
    wanje125

    Reviews 4

    Average Rating 5.0

    5

    62% enrolled

    • nhcodingstudio
      Instructor

      Thank you, Wanje Cho! I sincerely appreciate you leaving such a great course rating! 🙏 The feedback you've shared is a tremendous source of encouragement. If you'd like to gain a deeper understanding of Express.js and systematically learn the fundamental principles of server development, I highly recommend the "Building a Node.js Server Engine – Learning Framework Design through Express.js Clone" course. This course goes beyond simple usage and is structured to help you naturally master the core concepts of server engine design by directly implementing the internal workings of Express.js. Through the process of experiencing the structure and philosophy of frameworks firsthand, I'm confident you'll find answers to fundamental questions like "Why was it designed this way?" going beyond mere technical learning. I also want to express my gratitude and continuous support. 🙇‍♂️ Whenever you have questions or need help with development, please feel free to use the open chat room below. You can communicate with fellow learners, and I also drop by frequently to share thoughts and concerns together! 📮 Open Chat Room: [https://open.kakao.com/o/gC10Fnoh] I wholeheartedly support your development journey. I hope to see you again in the next course! 🚀

$30.80

nhcodingstudio's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!