Repository files navigation

Netlify Functions Serverless Workshop

This repo will teach you the core concepts of using serverless functions with Netlify.

Table of Contents

Using this repo

After following the prerequisite setup steps, work from the lessons folders.

If you get stuck or want to look ahead checkout the lessons-code-complete directory for the completed code.

Repo directory structure:

|── /lessons ✅ Work from these files!
|── /lessons-code-complete 💡 Complete lesson answers
|── /_instructor 🙈 Ignore these files. For instructor updates
|── /_scripts 🙈 Ignore these files

Workshop Lessons

Core Concepts

LessonFinal Code
1 Hello World
Deploying Your First Endpoint
Complete Code
2 Dynamic Content
Rendering Dynamic Content
Complete Code
3 Using Environment Variables
Using environment variables
Complete Code
4 Using Dependancies
Using NPM dependencies
Complete Code
5 Authenication
Protecting Endpoints
Complete Code
6 Using A Database
Using a database
Complete Code
7 Using Middleware
Using Function middleware
Complete Code
8 Using Addons
Deploying Your First Endpoint
Complete Code
9 Using Cors
Adding CORS support
Complete Code
10 Testing Functions
Testing Serverless functions
Complete Code

Use Cases

LessonFinal Code
1 Rest Api
Using functions for REST APIs
Complete Code
2 Graphql
Using functions for GraphQL APIs
Complete Code
3 Redirects
Using functions for Dynamic Redirects
Complete Code
4 Setting Cookies
Using functions to set cookies
Complete Code
5 Fetching Data
Using functions to fetch external API data
Complete Code
6 Scraping
Using functions for web scraping
Complete Code
7 Sending Emails
Using functions for sending email
Complete Code
8 Sending Sms
Using functions for sending text messages
Complete Code
9 Event Driven Functions
Using Netlify Event Driven functions
Complete Code
10 Payment Processing
Using functions for Payment Processing
Complete Code
11 Handling Oauth
Handing OAuth Flows
Complete Code
12 Handling File Uploads
Using functions for uploading files
Complete Code
13 Returning Dynamic Images
Using functions for returning images
Complete Code

Helpful Tools

  • Postman - desktop app for quick & easy endpoint testing
  • NVM - Node version manager

Prerequisites & Setup Steps

  1. Install the latest LTS version of Node. How to install Node.

  2. Verify you have git on your machine

    Most machines come pre-loaded with git. 🎉

    To verify you have git, open up your terminal and run:

    which git

    This should return a path of where git is installed. If the command returns git not found, we will need to install git on your machine.

  3. Setup a Netlify account

    If you don't already have an Netlify account, let's get one setup.

    Click here to setup a free Netlify account

  4. Install Netlify CLI

    Open up your terminal and run:

    npm install netlify-cli -g
  5. Connect the Netlify CLI with your Netlify account

    Open up your terminal and run:

    netlify login
  6. Verify the Netlify CLI works on your machine

    Open up your terminal and run:

    netlify --help
    

    This should return the list of commands from the CLI tool.

Bonus setup:

  • Install postman for quick & easy testing of endpoints we deploy
  • It's also recommended that you use nvm (node version manager) just in case you need to change versions of node for the workshop.

Additional Learning materials

Netlify

Serverless

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Netlify Functions Serverless Workshop

This repo will teach you the core concepts of using serverless functions with Netlify.

Table of Contents

Using this repo

After following the prerequisite setup steps, work from the lessons folders.

If you get stuck or want to look ahead checkout the lessons-code-complete directory for the completed code.

Repo directory structure:

|── /lessons ✅ Work from these files!
|── /lessons-code-complete 💡 Complete lesson answers
|── /_instructor 🙈 Ignore these files. For instructor updates
|── /_scripts 🙈 Ignore these files

Workshop Lessons

Core Concepts

LessonFinal Code
1 Hello World
Deploying Your First Endpoint
Complete Code
2 Dynamic Content
Rendering Dynamic Content
Complete Code
3 Using Environment Variables
Using environment variables
Complete Code
4 Using Dependancies
Using NPM dependencies
Complete Code
5 Authenication
Protecting Endpoints
Complete Code
6 Using A Database
Using a database
Complete Code
7 Using Middleware
Using Function middleware
Complete Code
8 Using Addons
Deploying Your First Endpoint
Complete Code
9 Using Cors
Adding CORS support
Complete Code
10 Testing Functions
Testing Serverless functions
Complete Code

Use Cases

LessonFinal Code
1 Rest Api
Using functions for REST APIs
Complete Code
2 Graphql
Using functions for GraphQL APIs
Complete Code
3 Redirects
Using functions for Dynamic Redirects
Complete Code
4 Setting Cookies
Using functions to set cookies
Complete Code
5 Fetching Data
Using functions to fetch external API data
Complete Code
6 Scraping
Using functions for web scraping
Complete Code
7 Sending Emails
Using functions for sending email
Complete Code
8 Sending Sms
Using functions for sending text messages
Complete Code
9 Event Driven Functions
Using Netlify Event Driven functions
Complete Code
10 Payment Processing
Using functions for Payment Processing
Complete Code
11 Handling Oauth
Handing OAuth Flows
Complete Code
12 Handling File Uploads
Using functions for uploading files
Complete Code
13 Returning Dynamic Images
Using functions for returning images
Complete Code

Helpful Tools

  • Postman - desktop app for quick & easy endpoint testing
  • NVM - Node version manager

Prerequisites & Setup Steps

  1. Install the latest LTS version of Node. How to install Node.

  2. Verify you have git on your machine

    Most machines come pre-loaded with git. 🎉

    To verify you have git, open up your terminal and run:

    which git

    This should return a path of where git is installed. If the command returns git not found, we will need to install git on your machine.

  3. Setup a Netlify account

    If you don't already have an Netlify account, let's get one setup.

    Click here to setup a free Netlify account

  4. Install Netlify CLI

    Open up your terminal and run:

    npm install netlify-cli -g
  5. Connect the Netlify CLI with your Netlify account

    Open up your terminal and run:

    netlify login
  6. Verify the Netlify CLI works on your machine

    Open up your terminal and run:

    netlify --help
    

    This should return the list of commands from the CLI tool.

Bonus setup:

  • Install postman for quick & easy testing of endpoints we deploy
  • It's also recommended that you use nvm (node version manager) just in case you need to change versions of node for the workshop.

Additional Learning materials

Netlify

Serverless

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Netlify Functions Serverless Workshop

This repo will teach you the core concepts of using serverless functions with Netlify.

Table of Contents

Using this repo

After following the prerequisite setup steps, work from the lessons folders.

If you get stuck or want to look ahead checkout the lessons-code-complete directory for the completed code.

Repo directory structure:

|── /lessons ✅ Work from these files!
|── /lessons-code-complete 💡 Complete lesson answers
|── /_instructor 🙈 Ignore these files. For instructor updates
|── /_scripts 🙈 Ignore these files

Workshop Lessons

Core Concepts

LessonFinal Code
1 Hello World
Deploying Your First Endpoint
Complete Code
2 Dynamic Content
Rendering Dynamic Content
Complete Code
3 Using Environment Variables
Using environment variables
Complete Code
4 Using Dependancies
Using NPM dependencies
Complete Code
5 Authenication
Protecting Endpoints
Complete Code
6 Using A Database
Using a database
Complete Code
7 Using Middleware
Using Function middleware
Complete Code
8 Using Addons
Deploying Your First Endpoint
Complete Code
9 Using Cors
Adding CORS support
Complete Code
10 Testing Functions
Testing Serverless functions
Complete Code

Use Cases

LessonFinal Code
1 Rest Api
Using functions for REST APIs
Complete Code
2 Graphql
Using functions for GraphQL APIs
Complete Code
3 Redirects
Using functions for Dynamic Redirects
Complete Code
4 Setting Cookies
Using functions to set cookies
Complete Code
5 Fetching Data
Using functions to fetch external API data
Complete Code
6 Scraping
Using functions for web scraping
Complete Code
7 Sending Emails
Using functions for sending email
Complete Code
8 Sending Sms
Using functions for sending text messages
Complete Code
9 Event Driven Functions
Using Netlify Event Driven functions
Complete Code
10 Payment Processing
Using functions for Payment Processing
Complete Code
11 Handling Oauth
Handing OAuth Flows
Complete Code
12 Handling File Uploads
Using functions for uploading files
Complete Code
13 Returning Dynamic Images
Using functions for returning images
Complete Code

Helpful Tools

  • Postman - desktop app for quick & easy endpoint testing
  • NVM - Node version manager

Prerequisites & Setup Steps

  1. Install the latest LTS version of Node. How to install Node.

  2. Verify you have git on your machine

    Most machines come pre-loaded with git. 🎉

    To verify you have git, open up your terminal and run:

    which git

    This should return a path of where git is installed. If the command returns git not found, we will need to install git on your machine.

  3. Setup a Netlify account

    If you don't already have an Netlify account, let's get one setup.

    Click here to setup a free Netlify account

  4. Install Netlify CLI

    Open up your terminal and run:

    npm install netlify-cli -g
  5. Connect the Netlify CLI with your Netlify account

    Open up your terminal and run:

    netlify login
  6. Verify the Netlify CLI works on your machine

    Open up your terminal and run:

    netlify --help
    

    This should return the list of commands from the CLI tool.

Bonus setup:

  • Install postman for quick & easy testing of endpoints we deploy
  • It's also recommended that you use nvm (node version manager) just in case you need to change versions of node for the workshop.

Additional Learning materials

Netlify

Serverless

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Netlify Functions Serverless Workshop

This repo will teach you the core concepts of using serverless functions with Netlify.

Table of Contents

Using this repo

After following the prerequisite setup steps, work from the lessons folders.

If you get stuck or want to look ahead checkout the lessons-code-complete directory for the completed code.

Repo directory structure:

|── /lessons ✅ Work from these files!
|── /lessons-code-complete 💡 Complete lesson answers
|── /_instructor 🙈 Ignore these files. For instructor updates
|── /_scripts 🙈 Ignore these files

Workshop Lessons

Core Concepts

LessonFinal Code
1 Hello World
Deploying Your First Endpoint
Complete Code
2 Dynamic Content
Rendering Dynamic Content
Complete Code
3 Using Environment Variables
Using environment variables
Complete Code
4 Using Dependancies
Using NPM dependencies
Complete Code
5 Authenication
Protecting Endpoints
Complete Code
6 Using A Database
Using a database
Complete Code
7 Using Middleware
Using Function middleware
Complete Code
8 Using Addons
Deploying Your First Endpoint
Complete Code
9 Using Cors
Adding CORS support
Complete Code
10 Testing Functions
Testing Serverless functions
Complete Code

Use Cases

LessonFinal Code
1 Rest Api
Using functions for REST APIs
Complete Code
2 Graphql
Using functions for GraphQL APIs
Complete Code
3 Redirects
Using functions for Dynamic Redirects
Complete Code
4 Setting Cookies
Using functions to set cookies
Complete Code
5 Fetching Data
Using functions to fetch external API data
Complete Code
6 Scraping
Using functions for web scraping
Complete Code
7 Sending Emails
Using functions for sending email
Complete Code
8 Sending Sms
Using functions for sending text messages
Complete Code
9 Event Driven Functions
Using Netlify Event Driven functions
Complete Code
10 Payment Processing
Using functions for Payment Processing
Complete Code
11 Handling Oauth
Handing OAuth Flows
Complete Code
12 Handling File Uploads
Using functions for uploading files
Complete Code
13 Returning Dynamic Images
Using functions for returning images
Complete Code

Helpful Tools

  • Postman - desktop app for quick & easy endpoint testing
  • NVM - Node version manager

Prerequisites & Setup Steps

  1. Install the latest LTS version of Node. How to install Node.

  2. Verify you have git on your machine

    Most machines come pre-loaded with git. 🎉

    To verify you have git, open up your terminal and run:

    which git

    This should return a path of where git is installed. If the command returns git not found, we will need to install git on your machine.

  3. Setup a Netlify account

    If you don't already have an Netlify account, let's get one setup.

    Click here to setup a free Netlify account

  4. Install Netlify CLI

    Open up your terminal and run:

    npm install netlify-cli -g
  5. Connect the Netlify CLI with your Netlify account

    Open up your terminal and run:

    netlify login
  6. Verify the Netlify CLI works on your machine

    Open up your terminal and run:

    netlify --help
    

    This should return the list of commands from the CLI tool.

Bonus setup:

  • Install postman for quick & easy testing of endpoints we deploy
  • It's also recommended that you use nvm (node version manager) just in case you need to change versions of node for the workshop.

Additional Learning materials

Netlify

Serverless

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Netlify Functions Serverless Workshop

This repo will teach you the core concepts of using serverless functions with Netlify.

Table of Contents

Using this repo

After following the prerequisite setup steps, work from the lessons folders.

If you get stuck or want to look ahead checkout the lessons-code-complete directory for the completed code.

Repo directory structure:

|── /lessons ✅ Work from these files!
|── /lessons-code-complete 💡 Complete lesson answers
|── /_instructor 🙈 Ignore these files. For instructor updates
|── /_scripts 🙈 Ignore these files

Workshop Lessons

Core Concepts

LessonFinal Code
1 Hello World
Deploying Your First Endpoint
Complete Code
2 Dynamic Content
Rendering Dynamic Content
Complete Code
3 Using Environment Variables
Using environment variables
Complete Code
4 Using Dependancies
Using NPM dependencies
Complete Code
5 Authenication
Protecting Endpoints
Complete Code
6 Using A Database
Using a database
Complete Code
7 Using Middleware
Using Function middleware
Complete Code
8 Using Addons
Deploying Your First Endpoint
Complete Code
9 Using Cors
Adding CORS support
Complete Code
10 Testing Functions
Testing Serverless functions
Complete Code

Use Cases

LessonFinal Code
1 Rest Api
Using functions for REST APIs
Complete Code
2 Graphql
Using functions for GraphQL APIs
Complete Code
3 Redirects
Using functions for Dynamic Redirects
Complete Code
4 Setting Cookies
Using functions to set cookies
Complete Code
5 Fetching Data
Using functions to fetch external API data
Complete Code
6 Scraping
Using functions for web scraping
Complete Code
7 Sending Emails
Using functions for sending email
Complete Code
8 Sending Sms
Using functions for sending text messages
Complete Code
9 Event Driven Functions
Using Netlify Event Driven functions
Complete Code
10 Payment Processing
Using functions for Payment Processing
Complete Code
11 Handling Oauth
Handing OAuth Flows
Complete Code
12 Handling File Uploads
Using functions for uploading files
Complete Code
13 Returning Dynamic Images
Using functions for returning images
Complete Code

Helpful Tools

  • Postman - desktop app for quick & easy endpoint testing
  • NVM - Node version manager

Prerequisites & Setup Steps

  1. Install the latest LTS version of Node. How to install Node.

  2. Verify you have git on your machine

    Most machines come pre-loaded with git. 🎉

    To verify you have git, open up your terminal and run:

    which git

    This should return a path of where git is installed. If the command returns git not found, we will need to install git on your machine.

  3. Setup a Netlify account

    If you don't already have an Netlify account, let's get one setup.

    Click here to setup a free Netlify account

  4. Install Netlify CLI

    Open up your terminal and run:

    npm install netlify-cli -g
  5. Connect the Netlify CLI with your Netlify account

    Open up your terminal and run:

    netlify login
  6. Verify the Netlify CLI works on your machine

    Open up your terminal and run:

    netlify --help
    

    This should return the list of commands from the CLI tool.

Bonus setup:

  • Install postman for quick & easy testing of endpoints we deploy
  • It's also recommended that you use nvm (node version manager) just in case you need to change versions of node for the workshop.

Additional Learning materials

Netlify

Serverless

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Netlify Functions Serverless Workshop

This repo will teach you the core concepts of using serverless functions with Netlify.

Table of Contents

Using this repo

After following the prerequisite setup steps, work from the lessons folders.

If you get stuck or want to look ahead checkout the lessons-code-complete directory for the completed code.

Repo directory structure:

|── /lessons ✅ Work from these files!
|── /lessons-code-complete 💡 Complete lesson answers
|── /_instructor 🙈 Ignore these files. For instructor updates
|── /_scripts 🙈 Ignore these files

Workshop Lessons

Core Concepts

LessonFinal Code
1 Hello World
Deploying Your First Endpoint
Complete Code
2 Dynamic Content
Rendering Dynamic Content
Complete Code
3 Using Environment Variables
Using environment variables
Complete Code
4 Using Dependancies
Using NPM dependencies
Complete Code
5 Authenication
Protecting Endpoints
Complete Code
6 Using A Database
Using a database
Complete Code
7 Using Middleware
Using Function middleware
Complete Code
8 Using Addons
Deploying Your First Endpoint
Complete Code
9 Using Cors
Adding CORS support
Complete Code
10 Testing Functions
Testing Serverless functions
Complete Code

Use Cases

LessonFinal Code
1 Rest Api
Using functions for REST APIs
Complete Code
2 Graphql
Using functions for GraphQL APIs
Complete Code
3 Redirects
Using functions for Dynamic Redirects
Complete Code
4 Setting Cookies
Using functions to set cookies
Complete Code
5 Fetching Data
Using functions to fetch external API data
Complete Code
6 Scraping
Using functions for web scraping
Complete Code
7 Sending Emails
Using functions for sending email
Complete Code
8 Sending Sms
Using functions for sending text messages
Complete Code
9 Event Driven Functions
Using Netlify Event Driven functions
Complete Code
10 Payment Processing
Using functions for Payment Processing
Complete Code
11 Handling Oauth
Handing OAuth Flows
Complete Code
12 Handling File Uploads
Using functions for uploading files
Complete Code
13 Returning Dynamic Images
Using functions for returning images
Complete Code

Helpful Tools

  • Postman - desktop app for quick & easy endpoint testing
  • NVM - Node version manager

Prerequisites & Setup Steps

  1. Install the latest LTS version of Node. How to install Node.

  2. Verify you have git on your machine

    Most machines come pre-loaded with git. 🎉

    To verify you have git, open up your terminal and run:

    which git

    This should return a path of where git is installed. If the command returns git not found, we will need to install git on your machine.

  3. Setup a Netlify account

    If you don't already have an Netlify account, let's get one setup.

    Click here to setup a free Netlify account

  4. Install Netlify CLI

    Open up your terminal and run:

    npm install netlify-cli -g
  5. Connect the Netlify CLI with your Netlify account

    Open up your terminal and run:

    netlify login
  6. Verify the Netlify CLI works on your machine

    Open up your terminal and run:

    netlify --help
    

    This should return the list of commands from the CLI tool.

Bonus setup:

  • Install postman for quick & easy testing of endpoints we deploy
  • It's also recommended that you use nvm (node version manager) just in case you need to change versions of node for the workshop.

Additional Learning materials

Netlify

Serverless

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Netlify Functions Serverless Workshop

This repo will teach you the core concepts of using serverless functions with Netlify.

Table of Contents

Using this repo

After following the prerequisite setup steps, work from the lessons folders.

If you get stuck or want to look ahead checkout the lessons-code-complete directory for the completed code.

Repo directory structure:

|── /lessons ✅ Work from these files!
|── /lessons-code-complete 💡 Complete lesson answers
|── /_instructor 🙈 Ignore these files. For instructor updates
|── /_scripts 🙈 Ignore these files

Workshop Lessons

Core Concepts

LessonFinal Code
1 Hello World
Deploying Your First Endpoint
Complete Code
2 Dynamic Content
Rendering Dynamic Content
Complete Code
3 Using Environment Variables
Using environment variables
Complete Code
4 Using Dependancies
Using NPM dependencies
Complete Code
5 Authenication
Protecting Endpoints
Complete Code
6 Using A Database
Using a database
Complete Code
7 Using Middleware
Using Function middleware
Complete Code
8 Using Addons
Deploying Your First Endpoint
Complete Code
9 Using Cors
Adding CORS support
Complete Code
10 Testing Functions
Testing Serverless functions
Complete Code

Use Cases

LessonFinal Code
1 Rest Api
Using functions for REST APIs
Complete Code
2 Graphql
Using functions for GraphQL APIs
Complete Code
3 Redirects
Using functions for Dynamic Redirects
Complete Code
4 Setting Cookies
Using functions to set cookies
Complete Code
5 Fetching Data
Using functions to fetch external API data
Complete Code
6 Scraping
Using functions for web scraping
Complete Code
7 Sending Emails
Using functions for sending email
Complete Code
8 Sending Sms
Using functions for sending text messages
Complete Code
9 Event Driven Functions
Using Netlify Event Driven functions
Complete Code
10 Payment Processing
Using functions for Payment Processing
Complete Code
11 Handling Oauth
Handing OAuth Flows
Complete Code
12 Handling File Uploads
Using functions for uploading files
Complete Code
13 Returning Dynamic Images
Using functions for returning images
Complete Code

Helpful Tools

  • Postman - desktop app for quick & easy endpoint testing
  • NVM - Node version manager

Prerequisites & Setup Steps

  1. Install the latest LTS version of Node. How to install Node.

  2. Verify you have git on your machine

    Most machines come pre-loaded with git. 🎉

    To verify you have git, open up your terminal and run:

    which git

    This should return a path of where git is installed. If the command returns git not found, we will need to install git on your machine.

  3. Setup a Netlify account

    If you don't already have an Netlify account, let's get one setup.

    Click here to setup a free Netlify account

  4. Install Netlify CLI

    Open up your terminal and run:

    npm install netlify-cli -g
  5. Connect the Netlify CLI with your Netlify account

    Open up your terminal and run:

    netlify login
  6. Verify the Netlify CLI works on your machine

    Open up your terminal and run:

    netlify --help
    

    This should return the list of commands from the CLI tool.

Bonus setup:

  • Install postman for quick & easy testing of endpoints we deploy
  • It's also recommended that you use nvm (node version manager) just in case you need to change versions of node for the workshop.

Additional Learning materials

Netlify

Serverless

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Netlify Functions Serverless Workshop

This repo will teach you the core concepts of using serverless functions with Netlify.

Table of Contents

Using this repo

After following the prerequisite setup steps, work from the lessons folders.

If you get stuck or want to look ahead checkout the lessons-code-complete directory for the completed code.

Repo directory structure:

|── /lessons ✅ Work from these files!
|── /lessons-code-complete 💡 Complete lesson answers
|── /_instructor 🙈 Ignore these files. For instructor updates
|── /_scripts 🙈 Ignore these files

Workshop Lessons

Core Concepts

LessonFinal Code
1 Hello World
Deploying Your First Endpoint
Complete Code
2 Dynamic Content
Rendering Dynamic Content
Complete Code
3 Using Environment Variables
Using environment variables
Complete Code
4 Using Dependancies
Using NPM dependencies
Complete Code
5 Authenication
Protecting Endpoints
Complete Code
6 Using A Database
Using a database
Complete Code
7 Using Middleware
Using Function middleware
Complete Code
8 Using Addons
Deploying Your First Endpoint
Complete Code
9 Using Cors
Adding CORS support
Complete Code
10 Testing Functions
Testing Serverless functions
Complete Code

Use Cases

LessonFinal Code
1 Rest Api
Using functions for REST APIs
Complete Code
2 Graphql
Using functions for GraphQL APIs
Complete Code
3 Redirects
Using functions for Dynamic Redirects
Complete Code
4 Setting Cookies
Using functions to set cookies
Complete Code
5 Fetching Data
Using functions to fetch external API data
Complete Code
6 Scraping
Using functions for web scraping
Complete Code
7 Sending Emails
Using functions for sending email
Complete Code
8 Sending Sms
Using functions for sending text messages
Complete Code
9 Event Driven Functions
Using Netlify Event Driven functions
Complete Code
10 Payment Processing
Using functions for Payment Processing
Complete Code
11 Handling Oauth
Handing OAuth Flows
Complete Code
12 Handling File Uploads
Using functions for uploading files
Complete Code
13 Returning Dynamic Images
Using functions for returning images
Complete Code

Helpful Tools

  • Postman - desktop app for quick & easy endpoint testing
  • NVM - Node version manager

Prerequisites & Setup Steps

  1. Install the latest LTS version of Node. How to install Node.

  2. Verify you have git on your machine

    Most machines come pre-loaded with git. 🎉

    To verify you have git, open up your terminal and run:

    which git

    This should return a path of where git is installed. If the command returns git not found, we will need to install git on your machine.

  3. Setup a Netlify account

    If you don't already have an Netlify account, let's get one setup.

    Click here to setup a free Netlify account

  4. Install Netlify CLI

    Open up your terminal and run:

    npm install netlify-cli -g
  5. Connect the Netlify CLI with your Netlify account

    Open up your terminal and run:

    netlify login
  6. Verify the Netlify CLI works on your machine

    Open up your terminal and run:

    netlify --help
    

    This should return the list of commands from the CLI tool.

Bonus setup:

  • Install postman for quick & easy testing of endpoints we deploy
  • It's also recommended that you use nvm (node version manager) just in case you need to change versions of node for the workshop.

Additional Learning materials

Netlify

Serverless

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages