Understand how the internet and servers actually work before writing code.
How does the internet work?
- What is a packet and how data travels across networks
- What is an IP address and how devices are identified
- TCP vs UDP — difference and when each is used
- What is a port number and why it matters (80, 443, 3000 etc.)
- What is a client and what is a server
HTTP vs HTTPS — Request/Response cycle
- HTTP methods — GET, POST, PUT, DELETE, PATCH and what each means
- What is a request header and a response header
- What is a status code — 200, 201, 400, 401, 403, 404, 500
- What is HTTPS and why HTTP alone is insecure
- What is SSL/TLS at a high level (encryption in transit)
- What is a request body and when it is used
How browsers work
- What happens step by step when you type a URL and hit Enter
- What is rendering — how HTML/CSS/JS becomes a page
- What are browser dev tools and how to use the Network tab
- What is a cookie and what is local storage
DNS
- What is a domain name and who owns it
- What is a DNS resolver and what it does
- What is an A record, CNAME, MX record
- What is TTL in DNS context
- How DNS resolution flows from browser to root server to your IP
Hosting basics
- What is a VPS vs shared hosting vs cloud hosting
- What is a server process and what it means for your app to "run"
- What is a region and why it affects latency
- What is an IP address vs a domain name in hosting context
Draw (on paper or Excalidraw) the full journey of a request from browser to server and back. Label every step — DNS, TCP, HTTP, server, response. Write one paragraph explaining it in plain English.
Basic Linux/terminal commands
- Navigating — pwd, ls, cd, cd ..
- Files — touch, mkdir, rm, rm -rf, cp, mv
- Reading files — cat, less, head, tail
- Permissions — chmod basics, what 755 and 644 mean
- Processes — ps, kill, what a running process is
Git fundamentals
- What is version control and why it exists
- git init, git status, git add, git commit
- What is a commit hash and why commits are immutable
- git log — reading history
- git diff — seeing what changed
- .gitignore — what to exclude and why (node_modules, .env)
GitHub workflow
- git push, git pull, git clone
- What is a branch and why you never work directly on main
- git checkout -b, git merge, git rebase basics
- What is a pull request and how code review works
- Resolving a merge conflict step by step
Create a GitHub repo. Write a plain text file documenting your Phase 1.1 notes. Commit it with a proper message. Create a branch, edit the file, push the branch, open a pull request, and merge it into main yourself.
How does the internet work?
- What is a packet and how data travels across networks
- What is an IP address and how devices are identified
- TCP vs UDP — difference and when each is used
- What is a port number and why it matters (80, 443, 3000 etc.)
- What is a client and what is a server
HTTP vs HTTPS — Request/Response cycle
- HTTP methods — GET, POST, PUT, DELETE, PATCH and what each means
- What is a request header and a response header
- What is a status code — 200, 201, 400, 401, 403, 404, 500
- What is HTTPS and why HTTP alone is insecure
- What is SSL/TLS at a high level (encryption in transit)
- What is a request body and when it is used
How browsers work
- What happens step by step when you type a URL and hit Enter
- What is rendering — how HTML/CSS/JS becomes a page
- What are browser dev tools and how to use the Network tab
- What is a cookie and what is local storage
DNS
- What is a domain name and who owns it
- What is a DNS resolver and what it does
- What is an A record, CNAME, MX record
- What is TTL in DNS context
- How DNS resolution flows from browser to root server to your IP
Hosting basics
- What is a VPS vs shared hosting vs cloud hosting
- What is a server process and what it means for your app to "run"
- What is a region and why it affects latency
- What is an IP address vs a domain name in hosting context
Draw (on paper or Excalidraw) the full journey of a request from browser to server and back. Label every step — DNS, TCP, HTTP, server, response. Write one paragraph explaining it in plain English.
Basic Linux/terminal commands
- Navigating — pwd, ls, cd, cd ..
- Files — touch, mkdir, rm, rm -rf, cp, mv
- Reading files — cat, less, head, tail
- Permissions — chmod basics, what 755 and 644 mean
- Processes — ps, kill, what a running process is
Git fundamentals
- What is version control and why it exists
- git init, git status, git add, git commit
- What is a commit hash and why commits are immutable
- git log — reading history
- git diff — seeing what changed
- .gitignore — what to exclude and why (node_modules, .env)
GitHub workflow
- git push, git pull, git clone
- What is a branch and why you never work directly on main
- git checkout -b, git merge, git rebase basics
- What is a pull request and how code review works
- Resolving a merge conflict step by step
Create a GitHub repo. Write a plain text file documenting your Phase 1.1 notes. Commit it with a proper message. Create a branch, edit the file, push the branch, open a pull request, and merge it into main yourself.