Practice & Assessment
Test your understanding of First Contact: Understanding Any Codebase Fast
Multiple Choice Questions
5You open a Node.js project and want to know what command starts the application. Where do you look first?
What is the primary reason to run an unfamiliar project locally before reading its source code?
You find a suspicious line of code and want to know who wrote it and why. Which command gives you the most direct answer?
A project has both dependencies and devDependencies in package.json. Which correctly describes the difference?
What does a .env.example file signal about a project's setup?
Coding Challenges
1Codebase Orientation Report
Clone the public repo https://github.com/gothinkster/node-express-realworld-example-app. Without running it, write a plain-text report (report.txt) answering: (1) What is the entry point file? (2) What database does it use? (3) What test framework is used? (4) List all npm scripts. (5) What environment variables are required? Use only package.json, folder structure, and .env.example — no reading source files. Input: the cloned repo. Output: report.txt with 5 labeled answers. Time estimate: 15–20 minutes.
Mini Project
First-30-Minutes Checklist Tool
Build a CLI tool (Node.js or Python) that accepts a local repo path as an argument and automatically generates a Markdown orientation report. It must: (1) detect the project type (Node, Python, Java, other) from config files, (2) extract and print the entry point, (3) list all scripts/commands, (4) list top-level dependencies with inferred purpose, (5) check if .env.example exists and list required keys, (6) print the last 5 commit messages using child_process/subprocess to run git log. Output a single ORIENTATION.md file in the target repo root. Use all concepts from Module 1: folder structure reading, dependency file parsing, entry point detection, and git history.
