Presentation and supporting materials for my workshop "Build Your First Full-Stack App in Next.js"
Created and presented by Jeremie Bornais
The presentation slides and guides are available in the docs directory:
- View Slides (Markdown)
- View Slides (PDF)
- Complete Build Guide - Step-by-step instructions from project init to fully working app
This project uses the modern Next.js stack:
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS v4
- Database: SQLite (via LibSQL)
- ORM: Drizzle ORM
- UI Library: React 19
-
Install dependencies:
npm install
-
Environment Setup:
Copy
example.envto.env:cp example.env .env
-
Run Development Server:
npm run dev
Open http://localhost:3000 with your browser to see the result.
├── actions/ # Server Actions (mutations)
├── app/ # Next.js App Router pages and layouts
├── components/ # React UI components
├── db/ # Database configuration and schema
├── docs/ # Workshop slides and documentation
└── public/ # Static assets
Since this project uses LibSQL, the easiest way to deploy the database is with Turso.
-
Install Turso CLI: Follow the installation instructions.
-
Create Database:
turso db create nextjs-workshop
-
Get Connection Details: Get the Database URL:
turso db show nextjs-workshop --url
Get the Auth Token:
turso db tokens create nextjs-workshop
-
Push Schema to Turso: Now that you have your credentials, you need to push your database schema to the new Turso database.
Update your local
.envfile with the Turso URL and Token temporarily, then run the Drizzle migration:npx drizzle-kit push
The easiest way to deploy your Next.js app is with Vercel.
-
Push to GitHub: Push your code to a GitHub repository.
-
Import Project: Go to Vercel, click "Add New...", and select "Project". Import your GitHub repository.
-
Environment Variables: In the Vercel project configuration, add the following Environment Variables:
Variable Value DB_URLThe Database URL from step 3 (starts with libsql://)DB_AUTH_TOKENThe Auth Token from step 3 -
Deploy: Click "Deploy". Your app should be live in a minute!
To learn more about the tools used in this workshop:
- Next.js Documentation - learn about Next.js features and API.
- Drizzle ORM Docs - type-safe SQL ORM.
- Tailwind CSS Docs - utility-first CSS framework.