Romaji to Kana Converter: React & Next.js — Chapter 1, Exercise 1 ===================================================================== TASK Scaffold the project exactly as shown in the chapter, run `npm run dev`, and confirm the placeholder /api/ping route responds correctly both from a browser tab and from a real curl request. SOLUTION After running the scaffold command: npx create-next-app@latest romaji-converter-nextjs \ --typescript --app --eslint --no-tailwind --src-dir \ --import-alias "@/*" --use-npm and creating src/app/api/ping/route.ts with: export async function GET() { return Response.json({ status: 'ok', service: 'romaji-converter-nextjs' }); } running `npm run dev` starts the local server on port 3000 by default. Opening http://localhost:3000/api/ping directly in a browser tab shows the raw JSON response rendered in the page: {"status":"ok","service":"romaji-converter-nextjs"} A real curl request against the same URL confirms the identical response outside the browser: $ curl http://localhost:3000/api/ping {"status":"ok","service":"romaji-converter-nextjs"} Both requests return a real 200 status with the correct Content-Type: application/json header, confirming the Route Handler mechanism itself works end to end before any real conversion logic exists to call through it. WHY THIS WORKS AS AN ANSWER ---------------------------- It verifies the same route two genuinely different ways -- a browser GET request and an independent curl request -- rather than trusting one method alone, and confirms the exact JSON shape the route was written to return, matching this course's own established discipline of checking a claim rather than assuming it.