You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: proposals/js-node-restructure.md
+20-20Lines changed: 20 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
-
##📘 JavaScript & Node.js Module Restructuring Plan Proposal
1
+
# 📘 JavaScript & Node.js Module Restructuring Plan Proposal
2
2
3
-
###🎯 Goal
3
+
## 🎯 Goal
4
4
5
5
To restructure existing JavaScript and Node.js content into a new modular curriculum across three tracks: **Foundation**, **Frontend Specialism**, and **Backend Specialism**. The focus is on reuse, clarity, and separating concerns between frontend and backend education.
6
6
7
-
This is schemas for current module structures. I will use the same **color-coding** for the parts of new modules, so it would be obvious where is this topic is coming from. You can also use the attached file to have interactive schemas in [draw.io](https://app.diagrams.net/)
7
+
This is schemas for current module structures. I will use the same **color-coding** for the parts of new modules, so it would be obvious where is this topic is coming from. You can also use the attached file to have interactive schemas in [draw.io](https://app.diagrams.net/)
8
8
9
9
[Click to dowload hyf.drawio.zip](https://github.com/user-attachments/files/19875331/hyf.drawio.zip)
10
10
@@ -38,7 +38,7 @@ This is schemas for current module structures. I will use the same **color-codin
38
38
**Source**: copy of JavaScript 1\
39
39
**Purpose**: Establish fundamental JavaScript knowledge. Teaches only one way to solve problems, no advanced topics or multiple approaches.
Introduce small reusable logic/function tasks already in the final week (e.g., calculating prices, transforming arrays) and encourage saving the code — these will be reused in API or frontend in later modules.
53
53
@@ -57,7 +57,7 @@ Introduce small reusable logic/function tasks already in the final week (e.g., c
57
57
**Purpose**: Introduce shared concepts between frontend and backend. Creates a unified mental model before Introductions for specialisations and removes duplicates from modules (like API explanations).\
58
58
**Note**: It, probably, will require some new material there (we didn’t have architecture before), but we can always just stick to the topics that was introduced before in old modules.
59
59
60
-
#### Topics [not limited to]:
60
+
#### Topics for Web Architecture 101 [not limited to]
61
61
62
62
- Client vs Server
63
63
- What is Backend?
@@ -74,15 +74,15 @@ Introduce small reusable logic/function tasks already in the final week (e.g., c
74
74
75
75
**Duration**: 1 week\
76
76
**Purpose**: Provide a hands-on primer to backend development. Enables learners to build a basic working backend (simple CRUD server or even less).\
77
-
**Reasoning**: Placing backend first in hands-on development allows learners to apply their JavaScript fundamentals while reinforcing their understanding of APIs introduced in Web Architecture 101. This progression is both natural and confidence-building: learners already know how to write logic, and now they can wrap it in endpoints (basically, another level of functions). Starting here also clarifies the API before they consume it from the frontend side.
77
+
**Reasoning**: Placing backend first in hands-on development allows learners to apply their JavaScript fundamentals while reinforcing their understanding of APIs introduced in Web Architecture 101. This progression is both natural and confidence-building: learners already know how to write logic, and now they can wrap it in endpoints (basically, another level of functions). Starting here also clarifies the API before they consume it from the frontend side.
78
78
79
-
#### Topics:
79
+
#### Topics for Introduction to Backend
80
80
81
81
- Intro to Node.js
82
82
- Simple web server
83
83
- Using Postman to test endpoints
84
84
- CRUD implementation (focus on code, not theory)
85
-
-*Optional*: Basic DB interaction (since we have a module, but not necessary)
85
+
-_Optional_: Basic DB interaction (since we have a module, but not necessary)
86
86
- Optional: Introduce a simple one-click deployment path
-**Deployment**: Should we provide guided deployment in Introduction modules? Just instructions, so they would be able to use them for Foundation Final Project.
108
108
@@ -117,7 +117,7 @@ Introduce small reusable logic/function tasks already in the final week (e.g., c
117
117
**Duration**: 4 weeks\
118
118
**Purpose**: Deepen JavaScript knowledge with modern concepts and patterns used in both frontend and backend development. This module is part of both the Frontend and Backend Specialisation tracks. While topics are shared, examples and homeworks must be tailored per track.
-**Frontend Specialism**: Browser-based examples (e.g., DOM tasks, UI-based async data fetching)
132
132
-**Backend Specialism**: Server-based examples (e.g., file handling, API response management)
133
133
134
-
#### To do:
134
+
#### To do for Advanced JavaScript
135
135
136
136
- Rethink the final assignment structure and integration with broader project.
137
137
@@ -144,7 +144,7 @@ Introduce small reusable logic/function tasks already in the final week (e.g., c
144
144
**Duration**: 2 weeks\
145
145
**Purpose**: Expand learners’ backend development capabilities using Node.js and Express. Builds on Introduction to Backend with more advanced tooling, patterns, and responsibilities.
146
146
147
-
#### Topics:
147
+
#### Topics for Node.js
148
148
149
149
-**Week 1**:
150
150
- Express (intro, routing, logging, debugging)
@@ -161,7 +161,7 @@ Introduce small reusable logic/function tasks already in the final week (e.g., c
161
161
162
162
- Can optionally have an additional week to include advanced backend topics that was proposed in previous dicussions
163
163
164
-
#### To do:
164
+
#### To do for Node.js
165
165
166
166
- Rethink the final assignment structure and integration with broader project.
167
167
@@ -171,8 +171,8 @@ Introduce small reusable logic/function tasks already in the final week (e.g., c
171
171
172
172
> Should we introduce js module/import/export concept in foundation or not?
173
173
174
-
*Option 1*: It might be natural to introduce separate files in «Introduction to Backend», and then mention in «Introduction to Frontend» how it is solved there.
174
+
_Option 1_: It might be natural to introduce separate files in «Introduction to Backend», and then mention in «Introduction to Frontend» how it is solved there.
175
175
176
-
*Option 2*: Introduce idea of structuring files (and import/export) on «Web Architecture 101» session.
176
+
_Option 2_: Introduce idea of structuring files (and import/export) on «Web Architecture 101» session.
177
177
178
-
*Option 3*: Not to give this concept in Foundation, because it seems like it can be done in one file, and later they will have to have separate files in React / Node anyway.
178
+
_Option 3_: Not to give this concept in Foundation, because it seems like it can be done in one file, and later they will have to have separate files in React / Node anyway.
0 commit comments