Level 7 challenge
Put it all together — build a complete server
⏱ Est. ~6 min
01 · Read
Time to put everything you've learned together. In this challenge you'll build a complete server from scratch, combining everything from Level 7:- Serve an HTML page - Text routes - A JSON API endpoint - Query parameters - Properly configured project with .gitignore - Version control with Git and GitHub
There's no step-by-step hand-holding here. You have the knowledge from the previous lessons. Check the hints if you get stuck — but try on your own first.
This is what real development feels like: you know each piece, and now you're assembling them into a complete thing.
Key points
- This challenge combines everything from Level 7
- Try each step on your own first, then check the hint
- It's fine to flip back to previous lessons for reference
- When you're done, you'll have a real project on GitHub
02 · Checklist
Build a server with all the features below. Check off each one as you complete it.
- GET / serves an HTML welcome page
- GET /about serves an about page
- GET /api/time returns JSON with the current time
- GET /api/greeting?name=Sara returns a personalized greeting
- A proper .gitignore with node_modules/ and .env
- Project pushed to GitHub
03 · Quiz
Before pushing your Node.js project to GitHub, which file do you need to create to avoid committing node_modules?
- .env
- package-lock.json
- .npmrc
- .gitignore
04 · Fill in the blank
To return JSON data from an Express route handler, use res._____(data) instead of res.send(data).
05 · Read
Congratulations — you just built a real web server and shipped it to GitHub.
Let that sink in. A few lessons ago, you installed Node.js for the first time. Now you have:- A working web server that serves HTML pages - An API endpoint returning live JSON data - Dynamic routes that respond to user input (query parameters) - A properly configured project with version control - Your code on GitHub for the world to see
This isn't a toy or a simulation. This is real software, built with the same tools and patterns professional engineers use every day.
Key insight from Level 7: building software isn't about memorizing syntax. It's about understanding each piece — servers, routes, responses, data formats — and assembling them. You understand those pieces now.
Soon, Claude Code will help you assemble them faster and faster.
Key points
- You built a real, working web server from scratch
- You made HTML pages and JSON API endpoints
- Your code is on GitHub — a real project in your portfolio
- Up next: Claude Code dramatically accelerates your development speed
06 · Quiz
A new engineer joins your project. They clone the repo from GitHub and run npm install, but the server doesn't start. What file did they most likely forget to create?
- The .env file with environment-specific settings
- node_modules/ — they need to copy yours manually
- .gitignore — the server can't run without it
- app.js — the server entry point should be in the repo already
Other lessons in this chapter
⚠ The full interactive experience needs JavaScript. Please enable it and reload.
※ This is an independent Traditional Chinese teaching project — not an official Anthropic product. Claude™ is a trademark of Anthropic, PBC.