Getting Started
Goal
This snapshot advances Wavelength Daily by teaching you to create a typed SvelteKit app on port 5173.
Each numbered folder is a complete app. Run it independently and compare adjacent snapshots to isolate the new responsibility.
Prerequisites
Use Node.js 20 or newer, npm, and a terminal. Basic TypeScript, HTML, and CSS familiarity will help.
The development server uses port 5173. Database snapshots also need Docker and the Supabase CLI.
- Node.js and npm
- A code editor
- Docker from part 4 onward
Concepts
SvelteKit uses Vite for development and filesystem conventions for application structure.
SvelteKit keeps route UI, server loading, and form actions close together while preserving a clear browser/server boundary.
Walkthrough
Review package scripts, the root page, and the typed server load that supplies starter stories.
Trace the example from request to rendered page, then inspect the complete matching snapshot for types, validation, and failure handling.
export const load = () => ({ posts: [] });
Run and verify
Enter 01-Getting-Started, install dependencies, and start the app. Supabase stages must start the local stack and copy the printed anon key into .env.
Open http://localhost:5173 and keep the terminal visible so browser actions can be matched to server errors.
git clone https://github.com/michaeldunga1/fcc-sveltekit-blog.git
cd fcc-sveltekit-blog/01-Getting-Started
npm install
npm run dev
Troubleshooting
If the browser cannot connect, confirm Vite is running and port 5173 is free.
A missing package usually means npm install ran in another snapshot. After changing environment variables, restart the SvelteKit process.
- Read the first error first
- Check the current snapshot path
- Never commit .env or node_modules
Try this
Change the hero copy and add one typed sample story.
Test one happy path and one invalid or unauthorized path before moving on.
- Make one focused change
- Verify it in the browser
- Compare with the next snapshot after it works
Next: Routing
Comments
One comment per signed-in account. Comments are saved with this page’s URL.