Getting Started
Goal
This snapshot advances Meridian Notes by teaching you to create a typed App Router project on port 3000.
Every numbered folder is a complete application. Run this stage on its own, then compare it with the previous snapshot to isolate the new responsibility.
Prerequisites
Use Node.js 20 or newer, npm, and a terminal. You should be comfortable with JavaScript functions, objects, modules, and basic HTML forms.
The development server uses port 3000. Data-backed snapshots use PostgreSQL on host port 5433 and keep their data in a database unique to that folder.
- Node.js and npm installed
- A code editor and terminal
- Docker from part 4 onward
Concepts
The App Router maps folders and page.tsx files to URLs. Server Components are the default and send rendered HTML without client JavaScript unless interactivity requires it.
Keep the server boundary visible: Server Components may read trusted data directly, while Server Actions and route handlers must validate all incoming values and re-check authorization.
Walkthrough
Review the root layout, global Tailwind stylesheet, metadata, and home page. Start the development server and identify the server-rendered heading.
Trace the example from request to rendered result, then inspect the matching snapshot for its surrounding types, validation, error handling, and configuration.
export default function Home() {
return <h1>Hello, Next.js.</h1>;
}
Run and verify
Enter 01-Getting-Started, install its dependencies, and copy .env.example when the snapshot includes one.
Open http://localhost:3000. Keep the terminal visible so framework, Prisma, and authentication errors can be matched to the browser action that caused them.
git clone https://github.com/michaeldunga1/fcc-nextjs-blog.git
cd fcc-nextjs-blog/01-Getting-Started
npm install
npm run dev
Troubleshooting
If the page does not load, confirm Node is supported and port 3000 is free. Delete .next only when stale generated output is the likely cause.
A missing-module error usually means npm ran in another snapshot. Database errors often mean Docker is stopped, the environment file is missing, or this folder points at the wrong numbered database.
- Read the first error first
- Restart after environment changes
- Never commit .env or node_modules
Try this
Change the metadata description and add a short introductory paragraph.
Test one expected path and one invalid or unauthorized path. A production-minded app gives useful feedback without exposing secrets or stack traces.
- Make one focused change
- Verify it in the browser
- Continue only after this snapshot works
Next: Routing
Comments
One comment per signed-in account. Comments are saved with this page’s URL.