Romaji to Kana Converter: React & Next.js — Chapter 1, Exercise 3 ===================================================================== TASK Using this chapter's own compare-table, explain in your own words why the Angular & Express course genuinely needed two separate projects while this course doesn't -- and why that difference is a real structural one, not just a stylistic preference. SOLUTION The difference comes down to what each framework actually is, not a choice either course's author happened to make. Angular is a client-side framework only -- it compiles down to static HTML, CSS, and JavaScript that runs in the browser, with no built-in mechanism of its own for running server-side code at all. The moment that course committed to having a real conversion engine running on a server (rather than purely in the browser, the way Chapter 4 of this course will still have to decide for itself), it had no choice but to reach for a genuinely separate piece of software to be that server -- Express, in that course's case. That's not a preference; there is no "Angular route handler" concept to use instead, so a second project, a second `package.json`, and a second running process were the only way to get a real server component into that stack at all. Next.js is structurally different: it was designed from the start to be both a frontend framework and a lightweight backend framework at once, expressed as two different capabilities of one single project -- pages/components on one side, Route Handlers under app/api/ on the other. Both halves are written in the same language, live in the same folder tree, share the same package.json and node_modules, and run through the exact same `npm run dev`/`npm run build` commands. There's genuinely no second project to create here, because Next.js itself already contains the thing Angular had to go get from somewhere else. So the real structural fact is: Angular's own architecture has no server story built in, forcing a second technology to supply one; Next.js's own architecture already includes a server story as a native part of the framework. The two-projects-vs-one-project split in this chapter's own compare-table is a direct, necessary consequence of that difference, not two teams simply preferring different setups for the same underlying situation. WHY THIS WORKS AS AN ANSWER ---------------------------- It explains the compare-table's own claim by tracing it back to a real, structural capability difference between the two frameworks (Angular has no native server layer; Next.js does) rather than treating "two projects vs. one project" as an arbitrary stylistic choice each course's author happened to make.