Deployment — Complete Guide
Deployment — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of Next.js Tutorial on Toolliyo Academy.
On this page
Next.js Tutorial (LearnHub) · Lesson 28 of 100
Deployment
Beginner ✓ → Intermediate → Advanced → Professional
Intermediate · 2 — Building apps · ~14 min read · Module 3: Data & Forms
Introduction
You know the basics now. Here we use Deployment in real LearnHub screens — layouts, data, and APIs. Still plain language, just a bit more depth. Deployment puts LearnHub on the internet — usually Vercel for Next.js, or Docker on AWS/Azure. You run npm run build locally first to catch errors, set production env vars, and connect your Git repo. Recruiters will not clone your repo. A live learnhub.vercel.app link on your resume proves you ship.
Data and forms power course lists, enrollments, and progress. Learn these patterns slowly — test in a small page first.
When will you use this?
Reach for data fetching and Server Actions when pages need database content or form submissions.
- Enrollments, quiz scores, and course progress load from the server — often with Server Actions.
- Forms that enroll a student in a course use Server Actions instead of a separate REST call.
Real-world: HDFC-style banking dashboard
The Banking team building HDFC-style banking dashboard uses Deployment to put LearnHub on Vercel or Docker so employers can click your live demo. account holders never see the TypeScript files — they just get a fast, reliable accounts, transfers, and statement views.
Production-style code
# Local production check
npm run build
npm start
# open http://localhost:3000
# .env.production (set in host dashboard, not committed)
DATABASE_URL=postgresql://...
NEXTAUTH_URL=https://learnhub.vercel.app
NEXTAUTH_SECRET=long-random-string
What happens in production: In HDFC-style banking dashboard, getting Deployment right means account holders trust the accounts, transfers, and statement views every day.
Lesson example (start here)
Copy this smaller example first. Once it works, compare it with the real-world code above.
# Local production check
npm run build
npm start
# open http://localhost:3000
# .env.production (set in host dashboard, not committed)
DATABASE_URL=postgresql://...
NEXTAUTH_URL=https://learnhub.vercel.app
NEXTAUTH_SECRET=long-random-string
Line-by-line walkthrough
| Code | What it means |
|---|---|
# Local production check | Comment — notes for humans; the compiler ignores it. |
npm run build | Part of the Deployment example — read it together with the lines before and after. |
npm start | Part of the Deployment example — read it together with the lines before and after. |
# open http://localhost:3000 | Comment — notes for humans; the compiler ignores it. |
# .env.production (set in host dashboard, not committed) | Comment — notes for humans; the compiler ignores it. |
DATABASE_URL=postgresql://... | Part of the Deployment example — read it together with the lines before and after. |
NEXTAUTH_URL=https://learnhub.vercel.app | Part of the Deployment example — read it together with the lines before and after. |
NEXTAUTH_SECRET=long-random-string | Part of the Deployment example — read it together with the lines before and after. |
How it works (big picture)
- build compiles optimized bundles.
- start runs production server locally.
- Hosting platform injects env vars at build and runtime.
Do this on your computer
- Fix all build errors with npm run build
- Push code to GitHub
- Import repo on Vercel
- Add env vars and deploy
- Test login and course catalog on live URL
- Read the real-world section and name which part of LearnHub uses this topic.
- Run the example locally with npm run dev and confirm the same behavior.
- Change one value in the example (route, text, or course id) and predict what will happen before you save.
Experiments — try changing this
- Change a string or route in the example and save — watch the browser update.
- Break the code on purpose (remove a bracket), read the error overlay, then fix it.
- Use npm run dev while editing Deployment — the page hot-reloads on save.
Remember
npm run build must pass before deploy. Set secrets on hosting dashboard. Vercel is the default Next.js host.
Common questions
Free hosting?
Vercel hobby tier works for portfolio demos with reasonable limits.
How long should I spend on Deployment?
Until you can explain it in your own words and run the example without looking at the answer. Beginners often need 30–60 minutes per new concept; setup lessons may take one afternoon.
What if I get stuck on Deployment?
Re-read the line-by-line walkthrough, check the terminal and browser overlay for errors, and compare your code character-by-character with the example. Search the exact error text — someone else had it too.
Where is Deployment used in real jobs?
See the real-world section above — the same pattern appears in LMS, e-commerce, SaaS, and dashboards. Interviewers ask you to explain it using one concrete example.