← WebApp Full-Stack program
Advaslearning Hub · Curriculum reference

WebApp Full-Stack — Full Lesson Plan

A 4-level WebApp Full-Stack journey for ages 12–16. From your first hand-written HTML page to a tested, typed, deployed full-stack product. Junior full-stack ready after L4, with three optional modules for specialisation.

All levelsLevel 1 · FoundationsLevel 2 · IntermediateLevel 3 · BackendLevel 4 · ProductionOptional · Module 1Optional · Module 2Optional · Module 3
38
Lessons written
7
Levels
33
Lessons planned
121
Empty slots
⏳ Coming soon
Level 1 · Foundations

HTML, CSS & the Web

48 lessons48 hoursAges 12–16🗺️ Syllabus↗ Open lessons
CodeLessonTypeMilestone
AA · What the web is4 lessons
WEB-L1-01How the Web WorksClient, server, URLs, HTTP, DevTools — the conversation that makes every page load.
WEB-L1-02Meeting HTMLTags, elements, attributes and the HTML skeleton — write your first page by hand and open it in a browser.
WEB-L1-03Working with TextHeading hierarchy, strong & em, line breaks and rules, comments, and the View Source tour.
WEB-L1-04Links & ImagesThe <a> anchor (external, internal & same-page links), the <img> element with src and alt, relative vs absolute paths, and why alt text matters.
BB · HTML semantics & forms10 lessons
WEB-L1-05Coming soonEmpty slot
WEB-L1-06Coming soonEmpty slot
WEB-L1-07Coming soonEmpty slot
WEB-L1-08Coming soonEmpty slot
WEB-L1-09Coming soonEmpty slot
WEB-L1-10Coming soonEmpty slot
WEB-L1-11Coming soonEmpty slot
WEB-L1-12Coming soonEmpty slot
WEB-L1-13Coming soonEmpty slot
WEB-L1-14Coming soonEmpty slot
CC · CSS foundations12 lessons
WEB-L1-15Coming soonEmpty slot
WEB-L1-16Coming soonEmpty slot
WEB-L1-17Coming soonEmpty slot
WEB-L1-18Coming soonEmpty slot
WEB-L1-19Coming soonEmpty slot
WEB-L1-20Coming soonEmpty slot
WEB-L1-21Coming soonEmpty slot
WEB-L1-22Coming soonEmpty slot
WEB-L1-23Coming soonEmpty slot
WEB-L1-24Coming soonEmpty slot
WEB-L1-25Coming soonEmpty slot
WEB-L1-26Coming soonEmpty slot
DD · Layout & responsive design11 lessons
WEB-L1-27Coming soonEmpty slot
WEB-L1-28Coming soonEmpty slot
WEB-L1-29Coming soonEmpty slot
WEB-L1-30Coming soonEmpty slot
WEB-L1-31Coming soonEmpty slot
WEB-L1-32Coming soonEmpty slot
WEB-L1-33Coming soonEmpty slot
WEB-L1-34Coming soonEmpty slot
WEB-L1-35Coming soonEmpty slot
WEB-L1-36Coming soonEmpty slot
WEB-L1-37Coming soonEmpty slot
EE · Figma → code6 lessons
WEB-L1-38Coming soonEmpty slot
WEB-L1-39Coming soonEmpty slot
WEB-L1-40Coming soonEmpty slot
WEB-L1-41Coming soonEmpty slot
WEB-L1-42Coming soonEmpty slot
WEB-L1-43Coming soonEmpty slot
FF · Capstones4 lessons
WEB-L1-44Coming soonEmpty slot
WEB-L1-45Coming soonEmpty slot
WEB-L1-46Coming soonEmpty slot
WEB-L1-47Coming soonEmpty slot
GAssessment1 lesson
WEB-L1-48Level AssessmentComing soon⏳ Planned
Level 2 · Intermediate

JavaScript & React

48 lessons48 hoursAges 12–16🗺️ Syllabus↗ Open lessons
CodeLessonTypeMilestone
AA · JavaScript fundamentals12 lessons
WEB-L2-01Your First Line of JavaScriptBring a page to life: the console, your first script tag, and why JavaScript is the third language of the web.
WEB-L2-02Variables & Typeslet, const and the six types you meet every day — strings, numbers, booleans, null, undefined and objects.
WEB-L2-03Strings & Template LiteralsJoin words together, slice them apart, and build tidy sentences with backticks instead of clumsy plus signs.
WEB-L2-04Numbers & OperatorsArithmetic, remainder, rounding and the floating-point surprise that catches out every new programmer.
WEB-L2-05Booleans & Comparisontrue, false, and why === is the comparison you should almost always reach for.
WEB-L2-06Making Decisions with if / elseBranch your code, chain conditions with && and ||, and learn which values JavaScript quietly treats as false.
WEB-L2-07Loops — Repeating Workfor, while and for…of: do the boring bit once, then let the computer repeat it a thousand times.
WEB-L2-08Functions — Naming a JobParameters, return values and arrow functions — wrap up work once, then reuse it anywhere.
WEB-L2-09Arrays — Lists of ThingsStore many values in order, reach them by index, and grow or shrink the list as you go.
WEB-L2-10Array Methods — map, filter, findTransform, narrow and search a list without writing a single loop. The three methods React leans on hardest.
WEB-L2-11Objects & DestructuringGroup related facts under one name, nest objects inside arrays, and unpack them in a single tidy line.
WEB-L2-12Debugging in DevToolsRead an error message properly, set a breakpoint, step through your code and watch a variable change.
BB · DOM & events6 lessons
WEB-L2-13Meeting the DOMThe page as a tree of objects your JavaScript can reach into and change.
WEB-L2-14Selecting ElementsquerySelector and querySelectorAll — finding the exact bit of the page you want.
WEB-L2-15Changing the PagetextContent, classList and building new elements: rewrite the page while it is running.
WEB-L2-16Events & ListenersaddEventListener, the event object, and responding to clicks and key presses.
WEB-L2-17Forms & User InputReading inputs, preventing the default submit, and validating before you act.
WEB-L2-18Simple AnimationsToggling classes and CSS transitions to make changes feel smooth.
CC · Async JavaScript6 lessons
WEB-L2-19Why Code WaitsSynchronous vs asynchronous, and what actually happens while a page waits.⏳ Planned
WEB-L2-20Meeting fetchAsking another computer for data and getting a Response back.⏳ Planned
WEB-L2-21JSON — Data as TextThe format every API speaks: parsing it, reading it, nesting it.⏳ Planned
WEB-L2-22Promisesthen, catch and the three states every promise moves between.⏳ Planned
WEB-L2-23async / awaitThe same promises, written so they read top to bottom like normal code.⏳ Planned
WEB-L2-24Handling Errorstry / catch, checking response.ok, and telling the user when something breaks.⏳ Planned
DD · React core11 lessons
WEB-L2-25Your First React ComponentScaffold with Vite, then write a function that returns JSX.⏳ Planned
WEB-L2-26JSX in DepthExpressions in braces, className, and the rules JSX will not bend on.⏳ Planned
WEB-L2-27Props — Passing Data InOne component, many uses: the recipe-card idea made real.⏳ Planned
WEB-L2-28State with useStateGive a component memory, and watch React re-render when it changes.⏳ Planned
WEB-L2-29Handling Events in ReactonClick, onChange, and why you pass the function rather than call it.⏳ Planned
WEB-L2-30Conditional RenderingShow, hide and swap parts of the interface based on state.⏳ Planned
WEB-L2-31Lists & KeysRendering an array with map, and why every item needs a stable key.⏳ Planned
WEB-L2-32Controlled FormsState as the single source of truth for every input on the page.⏳ Planned
WEB-L2-33Side Effects with useEffectFetching data when a component appears, and cleaning up after yourself.⏳ Planned
WEB-L2-34useRef & the Real DOMReaching a real element when React's declarative model isn't enough.⏳ Planned
WEB-L2-35Context — Sharing StateSkip the prop drilling: make data available to a whole tree at once.⏳ Planned
EE · React patterns & routing8 lessons
WEB-L2-36Custom HooksPull repeated stateful logic out into a function you can reuse.⏳ Planned
WEB-L2-37Lifting State UpTwo components that need the same value — and where that value should live.⏳ Planned
WEB-L2-38useReducerWhen several pieces of state change together, one reducer beats five setters.⏳ Planned
WEB-L2-39React Router — First RoutesMultiple pages in a single-page app, without a full reload.⏳ Planned
WEB-L2-40Route Params & Nested RoutesDynamic URLs like /movie/42, and layouts shared between pages.⏳ Planned
WEB-L2-41Programmatic NavigationuseNavigate, redirects after submit, and guarding a route.⏳ Planned
WEB-L2-42Performance First LookReact.memo, useMemo and useCallback — what they fix and when to bother.⏳ Planned
WEB-L2-43Organising a React ProjectFolder structure, component boundaries and naming that survives growth.⏳ Planned
FF · Capstones4 lessons
WEB-L2-44Capstone · Interactive QuizState, conditional rendering and scoring in one self-contained app.⏳ Planned
WEB-L2-45Capstone · Weather Appfetch a public API, handle loading and errors, render live data.⏳ Planned
WEB-L2-46Capstone · Todo AppFull CRUD in state, persisted to localStorage so it survives a refresh.⏳ Planned
WEB-L2-47Capstone · Movie SearchReact Router plus an API: a genuine multi-page app to finish the level.⏳ Planned
GAssessment1 lesson
WEB-L2-48Level AssessmentComing soon⏳ Planned
Level 3 · Backend

Backend, APIs & Databases

48 lessons48 hoursAges 12–16🗺️ Syllabus↗ Open lessons
CodeLessonTypeMilestone
AA · Node.js + Express8 lessons
WEB-L3-01What is Node.js?Take JavaScript out of the browser: install Node, run a .js file from the terminal, and see what a runtime can do that a browser can't.
WEB-L3-02npm & Your First Packagepackage.json, npm install, node_modules and scripts — the toolbox every Node project uses.
WEB-L3-03Your First Express ServerInstall Express, app.listen, and a hello-world route you can open in the browser.
WEB-L3-04Routing & HTTP MethodsGET and POST routes, and reading values out of route params.
WEB-L3-05Request & Responsereq.query, req.params and req.body; res.json, res.send and status codes.
WEB-L3-06Middlewareapp.use, express.json(), next() and writing your own logging middleware.
WEB-L3-07Serving JSON & Static FilesBuild a tiny JSON API and serve static files with express.static.
WEB-L3-08Environment Variables.env, dotenv, PORT, keeping secrets out of Git with .gitignore.
BB · REST API design8 lessons
WEB-L3-09What is a REST API?Resources, endpoints and JSON — the shape every modern web API shares.
WEB-L3-10HTTP Verbs & CRUDPOST, GET, PUT and DELETE — full Create/Read/Update/Delete on a resource.
WEB-L3-11Status Codes Done Right200, 201, 204, 400, 404, 500 — return the right code from every route.
WEB-L3-12Designing Resource RoutesNouns not verbs, nested resources, and organising routes with express.Router().
WEB-L3-13Validating Input with ZodNever trust the client: z.object schemas, safeParse, and 400s on bad input.
WEB-L3-14Error Handling & Responsestry/catch, a 4-arg error handler, a 404 catch-all and consistent error JSON.
WEB-L3-15CORS & the BrowserWhy the browser blocks cross-origin calls, and fixing it with the cors package.
WEB-L3-16Connecting Your FrontendWire a fetch-driven UI to your CRUD API — the React equivalent noted.
CC · SQL & PostgreSQL14 lessons
WEB-L3-17Coming soonEmpty slot
WEB-L3-18Coming soonEmpty slot
WEB-L3-19Coming soonEmpty slot
WEB-L3-20Coming soonEmpty slot
WEB-L3-21Coming soonEmpty slot
WEB-L3-22Coming soonEmpty slot
WEB-L3-23Coming soonEmpty slot
WEB-L3-24Coming soonEmpty slot
WEB-L3-25Coming soonEmpty slot
WEB-L3-26Coming soonEmpty slot
WEB-L3-27Coming soonEmpty slot
WEB-L3-28Coming soonEmpty slot
WEB-L3-29Coming soonEmpty slot
WEB-L3-30Coming soonEmpty slot
DD · Authentication10 lessons
WEB-L3-31Coming soonEmpty slot
WEB-L3-32Coming soonEmpty slot
WEB-L3-33Coming soonEmpty slot
WEB-L3-34Coming soonEmpty slot
WEB-L3-35Coming soonEmpty slot
WEB-L3-36Coming soonEmpty slot
WEB-L3-37Coming soonEmpty slot
WEB-L3-38Coming soonEmpty slot
WEB-L3-39Coming soonEmpty slot
WEB-L3-40Coming soonEmpty slot
EE · Deployment5 lessons
WEB-L3-41Coming soonEmpty slot
WEB-L3-42Coming soonEmpty slot
WEB-L3-43Coming soonEmpty slot
WEB-L3-44Coming soonEmpty slot
WEB-L3-45Coming soonEmpty slot
FF · Capstone2 lessons
WEB-L3-46Coming soonEmpty slot
WEB-L3-47Coming soonEmpty slot
GAssessment1 lesson
WEB-L3-48Level AssessmentComing soon⏳ Planned
Level 4 · Production

Production Full-Stack: React + TypeScript + Node

48 lessons48 hoursAges 13–16🗺️ Syllabus↗ Open lessons
CodeLessonTypeMilestone
AA · TypeScript end-to-end12 lessons
WEB-L4-01Coming soonEmpty slot
WEB-L4-02Coming soonEmpty slot
WEB-L4-03Coming soonEmpty slot
WEB-L4-04Coming soonEmpty slot
WEB-L4-05Coming soonEmpty slot
WEB-L4-06Coming soonEmpty slot
WEB-L4-07Coming soonEmpty slot
WEB-L4-08Coming soonEmpty slot
WEB-L4-09Coming soonEmpty slot
WEB-L4-10Coming soonEmpty slot
WEB-L4-11Coming soonEmpty slot
WEB-L4-12Coming soonEmpty slot
BB · Production React10 lessons
WEB-L4-13Coming soonEmpty slot
WEB-L4-14Coming soonEmpty slot
WEB-L4-15Coming soonEmpty slot
WEB-L4-16Coming soonEmpty slot
WEB-L4-17Coming soonEmpty slot
WEB-L4-18Coming soonEmpty slot
WEB-L4-19Coming soonEmpty slot
WEB-L4-20Coming soonEmpty slot
WEB-L4-21Coming soonEmpty slot
WEB-L4-22Coming soonEmpty slot
CC · Production Node & Express8 lessons
WEB-L4-23Coming soonEmpty slot
WEB-L4-24Coming soonEmpty slot
WEB-L4-25Coming soonEmpty slot
WEB-L4-26Coming soonEmpty slot
WEB-L4-27Coming soonEmpty slot
WEB-L4-28Coming soonEmpty slot
WEB-L4-29Coming soonEmpty slot
WEB-L4-30Coming soonEmpty slot
DD · Testing & quality6 lessons
WEB-L4-31Coming soonEmpty slot
WEB-L4-32Coming soonEmpty slot
WEB-L4-33Coming soonEmpty slot
WEB-L4-34Coming soonEmpty slot
WEB-L4-35Coming soonEmpty slot
WEB-L4-36Coming soonEmpty slot
EE · Production polish7 lessons
WEB-L4-37Coming soonEmpty slot
WEB-L4-38Coming soonEmpty slot
WEB-L4-39Coming soonEmpty slot
WEB-L4-40Coming soonEmpty slot
WEB-L4-41Coming soonEmpty slot
WEB-L4-42Coming soonEmpty slot
WEB-L4-43Coming soonEmpty slot
FF · Final capstone4 lessons
WEB-L4-44Coming soonEmpty slot
WEB-L4-45Coming soonEmpty slot
WEB-L4-46Coming soonEmpty slot
WEB-L4-47Coming soonEmpty slot
GAssessment1 lesson
WEB-L4-48Level AssessmentComing soon⏳ Planned
Optional · Module 1

Next.js Full-Stack

~48 lessonsComing later🗺️ Syllabus↗ Open lessons
Lessons for this level are not authored yet.
Optional · Module 2

Mobile Native App Full-Stack

~48 lessonsComing later🗺️ Syllabus↗ Open lessons
Lessons for this level are not authored yet.
Optional · Module 3

Cloud & DevOps

~48 lessonsComing later🗺️ Syllabus↗ Open lessons
Lessons for this level are not authored yet.
No lessons match your search.