Slide of 72
MODULE 06 • PRODUCTION INFRASTRUCTURE

Vercel & Web Deployment
From Zero to Production Masterclass

“Deploy, scale, and maintain high-performance fullstack web applications”

A comprehensive developer guide from setting up your Vercel account to deploying Next.js with Neon PostgreSQL and custom domains.
or press Space / →
bash — production pipeline
$ pnpm dlx vercel deploy --prod
▲ Vercel CLI 39.x.x
✓ Linking to acme-projects/taskflow
✓ Uploading project files (1.2 MB)
✓ Production deployment created
● Production: https://taskflow.vercel.app [38s]
# Global Edge CDN • SSL Active • Database Connected
PART 01 • CONCEPTS

What is Deployment?

Transitioning code from your local computer to the global internet

CORE CONCEPT

Local Development (localhost:3000)

Runs solely on your machine inside Node.js. Only accessible by you via local loopback. Stops when your computer closes or terminal shuts down.

$ pnpm run dev
Ready in 1200ms on http://localhost:3000

Production Deployment (Public Internet)

Packaged, optimized, and hosted on high-availability cloud servers around the world. Accessible 24/7/365 by millions of users with automated HTTPS.

Production URL: https://taskflow.com
Response time: 24ms from Global Edge Network
PART 01 • ARCHITECTURE

The Production Deployment Pipeline

Architectural path from developer code to global visitors

ARCHITECTURE
💻
1. Developer
Writes code & tests locally
→
🐙
2. GitHub Repo
Version control & webhooks
→
▲
3. Vercel Build
Compile, bundle, optimize
→
🚀
4. Production
Immutable edge deployment
→
🌐
5. Domain & SSL
Custom domain + HTTPS
→
👥
6. Global Users
Fast page loads worldwide
PART 01 • EXECUTION MODELS

Static Websites vs Fullstack Applications

Understanding execution models: Static Files, SSR, and Serverless APIs

Static Sites (SSG / HTML)

Pure HTML, CSS, and JS generated ahead of time during build. Served directly from Edge CDN storage with zero server computation.

Server-Rendered (SSR)

HTML is rendered on-demand for every visitor request via Serverless Functions. Ideal for dynamic dashboards and personalized feeds.

Serverless APIs & Actions

Isolated backend compute executing on demand without maintaining continuous servers. Scales from 0 to thousands of concurrent requests.

PART 02 • PLATFORM OVERVIEW

What is Vercel?

The native cloud platform for Next.js and the modern web

VERCEL

Engineered by the Creators of Next.js

Vercel created and maintains Next.js. The platform is purpose-built to extract maximum performance from the App Router, Server Components, and Server Actions.

Zero Server Management

No configuring Nginx, Ubuntu servers, Docker files, or PM2 process managers. Push your code to Git, and Vercel handles all infrastructure automatically.

PART 02 • CORE FEATURES

Core Platform Capabilities

Git automation, Global Edge Network, Serverless functions, and instant previews

1. Continuous Git Deployment

Automatic builds on every git push. Pull requests generate live staging preview URLs instantly for team review.

2. Global Edge Network (CDN)

Static assets and cached responses distributed to 300+ Point of Presence (PoP) locations across the globe for sub-50ms latency.

3. Serverless Compute

Backend Route Handlers and Server Actions spin up instantly in response to requests, scaling to zero when inactive.

4. Automated Security & SSL

Free automated Let's Encrypt TLS certificates, DDoS mitigation, and enterprise-grade DNS infrastructure.

PART 02 • BUILD LIFECYCLE

What Happens During a Vercel Build?

Behind the scenes of containerized build runners and artifact generation

1
Clone
Pulls repo commit
→
2
Dependencies
pnpm install
→
3
Compile
next build
→
4
Distribute
Upload to CDN
PART 02 • ECOSYSTEM

Supported Frameworks on Vercel

First-class support for Next.js, Astro, Remix, SvelteKit, Vite, and static HTML

Next.js (React)

Native integration with full App Router and Server Components support.

Astro & SvelteKit

Zero-configuration deployment for high-performance content sites.

Vite & Static Web

Instant deployments for React SPA, Vue, vanilla HTML/CSS/JS web apps.

PART 03 • SETUP

Creating Your Vercel Account

Step-by-step signup via GitHub integration on vercel.com

1. Visit Official Site

Navigate to https://vercel.com/ and click Sign Up.

2. Select Continue with GitHub

Signing in with GitHub ensures automatic repository access and smooth continuous deployment.

3. Authorize Vercel App

Grant permission to read repositories. Choose "All repositories" or select specific project repositories.

4. Complete Onboarding

Confirm your phone verification if prompted and set your developer display name.

PART 03 • ACCOUNTS & TEAMS

Personal Account vs Team Workspace

Understanding account scopes, team collaboration, and permissions

Hobby (Personal Account)

Free tier for personal projects, portfolios, non-commercial experiments, and educational learning. Unlimited personal projects.

Pro (Team Workspace)

Paid per-seat tier for commercial businesses, agencies, multi-developer collaboration, password-protected previews, and custom SLA.

PART 03 • DASHBOARD TOUR

Navigating the Vercel Dashboard

Overview of Projects, Deployments, Domains, Integrations, and Analytics

Overview & Projects

List of all deployed applications with live status, production domains, and latest commit info.

Project Settings

Configure custom domains, environment variables, Git branch tracking, and build command overrides.

PART 04 • READINESS

Preparing a Next.js Project for Deployment

Verifying package.json scripts, dependencies, and local build integrity

package.json — verify standard build script
{
"name": "taskflow",
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
}
}
PART 04 • LOCAL VALIDATION

Local Build Verification

Catching compilation and type errors before pushing to GitHub

bash — run local production build
$ pnpm run build
▲ Next.js 15.0.0
✓ Generating static pages (6/6)
✓ Finalized build artifact in .next/
PART 04 • SECURITY

Environment Variables Audit

Keeping secrets in .env.local and out of version control

SECURITY RULE
NEVER COMMIT .env.local TO GIT! Verify that .env*.local is listed in your .gitignore file. Database passwords committed to GitHub can be stolen by scrapers within seconds.
PART 04 • GIT HEALTH

Git Repository Health Check

Clean working tree, .gitignore rules, and production branch alignment

bash — inspect git status
$ git status
On branch main
nothing to commit, working tree clean
PART 05 • GITHUB

Creating a GitHub Repository

Setting up a public or private repository for project hosting

Private vs Public Repositories

Private repositories keep your code private while allowing Vercel to build and deploy. Public repositories allow open source visibility.

Do NOT Initialize with README

If you already have a local project, create an empty GitHub repository without adding a README, license, or gitignore file online.

PART 05 • PUSHING

Pushing Code to GitHub

Connecting local repository to remote origin with git push

bash — link remote & push
$ git remote add origin https://github.com/your-username/taskflow.git
$ git branch -M main
$ git push -u origin main
Branch 'main' set up to track remote branch 'main' from 'origin'.
PART 05 • AUDIT

Verifying Repository on GitHub

Checking branches, commits, and ensuring no secrets leaked

1. Inspect File Tree

Ensure package.json, app/ directory, and source files are at the root. Confirm .env.local is absent.

2. Confirm Default Branch

Confirm the default branch is main in GitHub repository Settings -> Branches.

PART 06 • VERCEL IMPORT

Importing a Project into Vercel

Connecting your GitHub account and selecting the repository

Step 1: Add New... -> Project

Click the black Add New... button in your Vercel Dashboard and select Project.

Step 2: Import Git Repository

Locate your taskflow repository in the list and click the blue Import button.

PART 06 • CONFIGURATION

Framework Detection & Root Directory

Automatic Next.js detection and monorepo path configuration

Framework Preset: Next.js

Vercel reads your package.json dependencies and automatically selects Next.js. If your app is inside a subfolder (monorepo), click Edit next to Root Directory and pick the folder.

PART 06 • BUILD OVERRIDES

Build and Output Settings

Understanding default presets and custom build commands

SettingDefault PresetWhen to Override
Build Commandnext buildWhen running Prisma generate or custom scripts first
Output Directory.nextManaged automatically by Next.js preset
Install Commandpnpm installWhen using custom package flags
PART 06 • INITIAL SECRETS

Configuring Initial Environment Variables

Supplying production keys before triggering the first build

Vercel UI — Environment Variables Section
Key: DATABASE_URL
Value: postgresql://neondb_owner:***@ep-mute-123.neon.tech/neondb?sslmode=require
Target Environments: Production, Preview, Development
PART 07 • EXECUTION

The First Deployment Lifecycle

From git push to active URL in under 60 seconds

READY TO DEPLOY
📦
Queued
Runner allocated
→
⚙️
Building
Compiling pages
→
🌐
Deploying
Edge routing
→
✨
Ready
Live on vercel.app
PART 07 • LOGS

Inspecting Live Build Logs

Real-time streaming output, dependency caching, and build steps

Vercel Build Inspector (Streaming)
[14:20:01.120] Running build in Washington, D.C., USA (East) – iad1
[14:20:02.430] Cloning github.com/acme/taskflow (Branch: main, Commit: 8f2a1b9)
[14:20:04.100] Running "pnpm install"
[14:20:07.500] Running "pnpm run build"
[14:20:14.200] ✓ Compiled successfully in 6.7s
[14:20:16.800] Created deployment: taskflow-8f2a1b9-acme.vercel.app
PART 07 • DOMAINS

Deployment URLs & Production Aliases

Understanding vercel.app domains and canonical aliases

1. Immutable Deployment URL

https://taskflow-8f2a1b9-acme.vercel.app

Specific to this exact commit. Will permanently point to this build and never changes.

2. Production Canonical Alias

https://taskflow.vercel.app

Always points to the latest successful release of your production branch (main).

PART 07 • VERIFICATION

Post-Deployment Verification

Testing client hydration, API routes, and network requests

1. Inspect Console

Open browser DevTools (F12) and ensure zero unhandled hydration errors.

2. Test Server API

Trigger a form submission or API fetch to ensure backend Route Handlers return 200 OK.

3. Network Tab

Confirm assets return x-vercel-cache: HIT for instant global edge delivery.

PART 08 • STAGING CONCEPTS

Preview Deployments vs Production

Isolated staging environments for every branch and pull request

CORE WORKFLOW
FeaturePreview DeploymentProduction Deployment
Triggered ByGit feature branches or Pull RequestsMerged to main branch
URL Formattaskflow-git-feature-acme.vercel.apptaskflow.com / taskflow.vercel.app
Environment VariablesPreview environment scopeProduction environment scope
TrafficInternal team, QA testers, reviewersReal live public users
PART 08 • GITFLOW

Git Branching Workflow for Vercel

Main branch for production, feature branches for preview testing

bash — feature branch to preview
$ git checkout -b feature/user-auth
$ git commit -am "feat: implement session auth"
$ git push -u origin feature/user-auth
▲ Vercel created preview deployment: https://taskflow-git-user-auth.vercel.app
PART 08 • COLLABORATION

Pull Request Previews & Team Feedback

Automated Vercel bot comments, preview URLs, and visual inspection

Vercel Bot on GitHub

When you open a Pull Request, the Vercel GitHub bot automatically comments on the PR with the live deployment URL, inspection link, and performance summary. Team members can test the feature before merging!

PART 08 • PROMOTION

Promoting Previews to Production

Instant traffic switch with zero rebuilds and zero downtime

Merge PR into Main

Merging the Pull Request automatically triggers a production build and moves the production domain alias seamlessly.

Dashboard Instant Promote

You can also promote any preview build to production directly with one click in the Vercel Deployments dashboard.

PART 09 • AUTOMATION

Automatic Deployments via Git Push

How webhooks trigger instant builds whenever code is pushed

1
git push
Developer terminal
→
2
GitHub Webhook
Sends payload to Vercel
→
3
Vercel Build
Build runner starts
→
4
Live URL
Updated in ~30s
PART 09 • CHECKS

GitHub Commit Status Checks

Vercel deployment checks integrated into GitHub Pull Requests

Branch Protection & Quality Gates

You can configure GitHub branch protection rules to prevent merging if the Vercel build fails. This guarantees broken code never reaches your live users.

PART 09 • DEPLOY HOOKS

Deploy Hooks for External Triggers

Triggering builds from CMS publishing events and webhooks

curl — trigger deployment via HTTP POST
$ curl -X POST https://api.vercel.com/v1/integrations/deploy/prj_xxx/token_yyy
{"job":{"id":"job_123","state":"QUEUED","createdAt":1700000000}}
PART 10 • CONFIGURATION

Environment Variables Mental Model

Separating configuration from code across development stages

12-FACTOR APP

Code Remains Identical

Your source code never hardcodes database URLs, Stripe API keys, or secret tokens. The application reads from process.env at runtime.

Cloud Injected at Build & Runtime

Vercel securely injects the encrypted variables into the build environment and serverless execution containers.

PART 10 • SCOPING

Environment Scope: Dev, Preview, Production

Targeting distinct databases and API keys per deployment stage

Target ScopeUsageExample DATABASE_URL
ProductionLive main branch...neon.tech/neondb_prod
PreviewPRs and feature branches...neon.tech/neondb_preview
DevelopmentPulled locally with Vercel CLI...neon.tech/neondb_dev
PART 10 • SECURITY BOUNDARY

The NEXT_PUBLIC_* Security Boundary

Preventing client bundle leakage of private server secrets

CRITICAL

Server-Only (Secret)

DATABASE_URL, STRIPE_SECRET_KEY

Never prefixed with NEXT_PUBLIC_. Only accessible inside Server Components, Route Handlers, and Server Actions.

Client-Exposed (Public)

NEXT_PUBLIC_APP_NAME, NEXT_PUBLIC_MAP_KEY

Inlined directly into browser JavaScript bundle during build. Accessible by anyone viewing website source.

PART 10 • DASHBOARD CONFIG

Managing Variables in Vercel Dashboard

Adding, editing, masking, and bulk uploading environment variables

Project Settings -> Environment Variables

You can paste raw .env contents directly into the key-value editor. Choose whether each variable applies to Production, Preview, Development, or all three.

PART 10 • REDEPLOYMENT

The Redeployment Requirement

Why updated environment variables require a new deployment

IMPORTANT
Updating an environment variable does NOT automatically update existing deployments! Next.js inlines variables during compilation. You must trigger a Redeploy in the dashboard or push a new commit to apply updated variables.
PART 11 • APP ROUTER

Next.js App Router on Vercel

Server Components, Client Components, and Edge routing

Server Components (RSC)

Default in App Router. Renders on Vercel serverless compute. Zero client JavaScript bundle overhead. Fetches database directly.

Client Components ('use client')

Handles browser interactivity, state, event listeners, and hooks (useState, useEffect). Hydrated on the user's browser.

PART 11 • RENDERING

Static vs Dynamic Rendering Modes

Controlling cache headers and server rendering behavior

app/dashboard/page.tsx — control dynamic rendering
// Force dynamic server-rendering on every visitor request
export const dynamic = 'force-dynamic';
export const revalidate = 0;
PART 11 • SERVER ACTIONS

Server Actions & Route Handlers

Executing secure backend mutations on serverless functions

app/actions.ts — server action running on Vercel
'use server';
import { sql } from '@vercel/postgres';
export async function createTask(formData: FormData) {
const title = formData.get('title');
await sql`INSERT INTO tasks (title) VALUES (${title})`;
}
PART 11 • OPTIMIZATION

Image Optimization & Global Edge

Next.js image resizing, WebP conversion, and CDN distribution

next/image on Vercel Edge

Images are automatically resized, compressed into modern WebP/AVIF formats, and cached on Vercel Edge Network PoPs closest to each visitor. This saves bandwidth and achieves 100/100 Lighthouse performance.

PART 12 • FULLSTACK

Fullstack Architecture: Vercel + Neon

Serverless web frontend connecting to serverless PostgreSQL

ARCHITECTURE
🌐
Browser
User request
→
▲
Vercel Edge
Next.js Serverless
→
🐘
Neon Postgres
Connection Pooler
PART 12 • CONNECTION STRING

Obtaining Neon Connection Strings

Pooled connections with sslmode=require for serverless queries

Neon Dashboard — Pooled Connection String
# Use the Pooled connection mode (-pooler suffix in host)
DATABASE_URL="postgresql://neondb_owner:***@ep-mute-wave-123456-pooler.us-east-2.aws.neon.tech/neondb?sslmode=require"
PART 12 • CONFIGURATION

Configuring DATABASE_URL in Vercel

Setting up separate database instances for preview and production

Production Scope

Target your main production database branch in Neon.

Preview Scope

Target a separate Neon branch to test migrations without endangering live data.

PART 12 • MIGRATIONS

Database Migration Strategy

Safely applying schema migrations before application deployment

Always execute database migrations (e.g. pnpm prisma migrate deploy or pnpm drizzle-kit migrate) before or during the build phase so new database columns exist when your new code runs!
PART 13 • DOMAINS

Custom Domain Mental Model

Apex domains vs subdomains and how DNS routing operates

Apex / Root Domain

taskflow.com (no prefix before root name)

Requires an A Record pointing to Vercel's Anycast IP.

Subdomain

app.taskflow.com or www.taskflow.com

Requires a CNAME Record pointing to Vercel's DNS alias.

PART 13 • DNS RECORDS

DNS Record Types: A vs CNAME

Configuring 76.76.21.21 for root and cname.vercel-dns.com for subdomains

Record TypeHost / NameValue / TargetPurpose
A@ (root)76.76.21.21Points apex domain to Vercel global IP
CNAMEwww or appcname.vercel-dns.comAliases subdomain to Vercel edge network
PART 13 • REGISTRARS

Step-by-Step Registrar Configuration

Adding DNS records in Namecheap, Cloudflare, or GoDaddy

1. Vercel Project

Settings -> Domains -> Enter yourdomain.com and click Add.

2. Registrar DNS

Open Namecheap/Cloudflare -> DNS Management -> Add A & CNAME records.

3. Wait for Verification

Vercel polls DNS until records resolve and issues SSL certificate.

PART 13 • EMAIL SAFETY

Preserving Email DNS Records

Avoiding email disruption by protecting MX, SPF, DKIM, and DMARC

DANGER ZONE
NEVER DELETE MX RECORDS! If you have Google Workspace or Outlook email connected to your domain, only add the required A or CNAME record. Do not switch nameservers or wipe existing MX, TXT (SPF), or DKIM records, or company email will break instantly.
PART 13 • PROPAGATION

DNS Propagation & Automatic SSL

Let's Encrypt TLS certificate generation and HTTPS enforcement

Zero-Config Automatic SSL

Once DNS records point to Vercel, Vercel automatically requests and provisions a Let's Encrypt TLS certificate. Certificates are renewed automatically before expiration with zero manual intervention.

PART 14 • SECURITY

HTTPS & Transport Security

HSTS headers, modern TLS cipher suites, and redirect rules

HTTP -> HTTPS Redirect

All insecure port 80 HTTP requests are automatically redirected with 308 Permanent Redirect to secure port 443 HTTPS.

HSTS Header

HTTP Strict Transport Security forces modern browsers to communicate only over encrypted channels.

PART 14 • HARDENING

Application Hardening on Vercel

Content Security Policy (CSP), rate limiting, and input sanitization

Security Headers in next.config.js

Configure X-Content-Type-Options: nosniff, X-Frame-Options: DENY, and Content Security Policy (CSP) headers to prevent XSS and clickjacking attacks.

PART 14 • AUDITING

Secret Auditing & Remediation

Scanning repositories for leaks and rotating compromised credentials

If You Accidentally Push a Secret:

1. Immediately rotate / invalidate the key in your Neon or Stripe dashboard.
2. Deleting the commit in Git is NOT enough because commit history preserves the secret.
3. Generate a brand new credential and update Vercel environment variables.

PART 15 • IMMUTABILITY

Immutable Deployments

Why every build is a permanent, immutable snapshot

Never Overwritten

Every Vercel deployment creates a permanent, immutable artifact snapshot associated with its unique URL. You can inspect and revisit builds from months ago exactly as they compiled.

PART 15 • EMERGENCY RESTORE

Instant Rollback Workflow

Restoring a previous working deployment in seconds

EMERGENCY FIX
1
Bug Detected
Production error
→
2
Open Deployments
Pick stable build
→
3
Click Rollback
Instant alias switch
→
4
Restored
Zero downtime
PART 15 • THE MIGRATION TRAP

The Code vs Database Rollback Discrepancy

Why rolling back code does NOT undo database schema changes

CRITICAL WARNING
Vercel rollback ONLY reverts web frontend and serverless code! It cannot un-drop database tables or rollback destructive SQL migrations on Neon. Design migrations to be backward-compatible with the previous release.
PART 16 • DEBUGGING

Build Logs vs Runtime Logs

Differentiating compile-time failures from production exceptions

Build Logs (Compile-Time)

Captures pnpm install and next build. Look here when deployment status shows red failed build. Common causes: TypeScript, ESLint, missing packages.

Runtime Logs (Production)

Streams live execution logs of Serverless Functions and Route Handlers. Look here when users see 500 Server Errors or database timeout exceptions.

PART 16 • COMMON BUILD ERRORS

Diagnosing Common Build Failures

Missing dependencies, TypeScript errors, and incorrect root directory

Error: Module not found: Can't resolve 'clsx'
Cause: Package installed globally or missing from package.json dependencies.
Solution: Run pnpm add clsx locally, commit package.json and pnpm-lock.yaml, then push.
PART 16 • RUNTIME ERRORS

Diagnosing Runtime 500 Errors

Database timeouts, connection exhaustion, and uncaught exceptions

FUNCTION_INVOCATION_TIMEOUT

Hobby plan serverless functions have a 10s execution limit (expandable to 60s on Pro). Avoid long loops, un-indexed slow queries, or hanging external API calls.

PART 16 • DEBUG METHOD

The 5-Step Systematic Debugging Flow

Reproduce -> Read Log -> Isolate Error -> Patch -> Verify

1
Read 1st Error
Ignore noise below
→
2
Test Locally
pnpm run build
→
3
Fix Code
Patch & commit
→
4
Push Fix
Trigger new deploy
PART 17 • PERFORMANCE

Build Performance & Turbopack

Utilizing build caching, package deduplication, and fast compilation

Vercel Remote Build Cache

Caches unchanged dependency builds across runs, cutting build times from minutes to seconds.

Bundle Analyzer

Run @next/bundle-analyzer to spot bloated libraries and split code efficiently.

PART 17 • DATABASE LATENCY

Serverless Optimization & Connection Pooling

Preventing cold starts and connection limits with Neon Serverless driver

Use @neondatabase/serverless

The Neon serverless driver communicates over HTTP/WebSockets instead of standard TCP connections. This avoids exhausting Postgres max_connections limits during sudden traffic spikes.

PART 18 • COST CONTROL

Vercel Plan Limits & Cost Management

Understanding Hobby vs Pro bandwidth, function duration, and spending controls

Hobby Limits

100 GB Bandwidth/mo, 6,000 build minutes/mo, 10s Serverless execution timeout. Free forever for non-commercial use.

Spending Alerts (Pro)

Set spend management limits in Dashboard -> Settings -> Billing to automatically pause or alert before exceeding budgets.

PART 19 • GUIDED PROJECT

Guided Project: TaskFlow Architecture

Production blueprint for Next.js, Neon PostgreSQL, and Vercel

REAL WORLD

Frontend

Next.js 15 App Router, Tailwind CSS, Shadcn UI components, Responsive UI.

Database

Neon Serverless PostgreSQL, Prisma schema, pooled connection string.

Hosting & Domain

Vercel Edge Network, custom domain taskflow.com, automated HTTPS.

PART 19 • INTERACTIVE SIMULATOR

Interactive Deployment Simulator

Simulate connecting repos, setting env vars, building, and deploying

SIMULATION ONLY
CONNECTED
simulation output runner

              
PART 19 • DNS SIMULATOR

Interactive Domain & DNS Simulator

Experiment with Apex, CNAME, and SSL verification live

SIMULATION ONLY
Record TypeName / HostTarget ValueStatus
A @ 76.76.21.21 Configured
PART 20 • VERIFICATION

Interactive Production Checklist

Comprehensive interactive checklist saved to your browser

0 / 8 Checked
PART 21 • MISTAKES

Top 10 Costly Deployment Mistakes

Critical errors developers make and exact steps to avoid them

AVOID THESE

1. Forgetting to Redeploy after updating Env Vars

Changing an env var doesn't update old builds. Must trigger Redeploy.

2. Committing .env.local to GitHub

Scrapers will steal keys within seconds. Keep it strictly in .gitignore.

3. Deleting MX records when configuring DNS

Wiping existing MX records will kill your company's Google/Outlook email.

4. Exposing secret keys with NEXT_PUBLIC_

Never put database passwords or secret keys behind NEXT_PUBLIC_.

PART 21 • SMOKE TESTS

Production Verification & Health Checks

End-to-end testing of auth, database CRUD, and responsiveness

Auth Smoke Test

Log in with a real test account, verify cookies and JWT tokens.

Database CRUD

Create a real task record, verify it persists across refreshes.

Mobile Layout Check

Open on real smartphone to verify touch targets and responsive navigation.

PART 22 • REFERENCE

Vercel Deployment Cheat Sheet

Quick reference guide for CLI, Git commands, DNS values, and rules

ActionCommand / RecordNotes
Test Local Buildpnpm run buildRun before pushing code
Deploy via CLIpnpm dlx vercel --prodManual production deployment
Apex Domain DNSA Record -> 76.76.21.21Points root to Vercel
Subdomain DNSCNAME -> cname.vercel-dns.comPoints subdomains to Vercel
PART 22 • MASTERCLASS GRADUATION

Course Summary & Master Architecture

Congratulations! You have mastered production web deployments on Vercel

COMPLETED
You now possess the complete professional skillset to develop with Next.js, store data in Neon PostgreSQL, push to GitHub, automate deployments on Vercel, and route custom domains securely with HTTPS!