Welcome to
Build and deploy a REST API with Deno
Course Syllabus and Content
Introduction
2 Lessons
Introduction to the newline guide to building and deploying a REST API using Deno.
In this lesson, we will install Deno and create our setup for the rest of the course.
Getting Started with Deno
6 Lessons
Introducing Deno and its history
We will look at the command line interface for running Deno
In this lesson, we will look at general usage of Deno by running a file and also introduce the config file
Learn how to use the Deno standard library and other external modules with URL imports
We will build our first server in Deno
You will learn how to make a simple token authentication in Deno
Connect to a database
4 Lessons
Introducing Deno databases
Using the PostgreSQL client for Deno
Using the MySQL client for Deno
Using the SQLite client for Deno
Database migrations
7 Lessons
Introduction to database migrations - what, why and how
Get started with database migrations using Nessie
We will go through creating a migration using the Nessie CLI
We will look at how to write a migration script where we create a table
We will run our migration and learn how to roll back the migration
We will create a seed file using the Nessie CLI
We will run our seed file and populate our database
REST API
14 Lessons
Introduction to the concept of REST APIs and why we use them
We will go through the thought process of planning an application.
We will create the initial project files and set up our environment
We will create the router and look at how to test our endpoints
It's time to add Nessie! We will now initialize Nessie in our project and also spin up our development database
Time to connect our models to our database!
In this step, we will create our first data model and create a corresponding table using a migration
Creating the methods to access the database
Creating the server endpoints for the Duck namespace
We will look at how to set up authentication and further authorize the requests
We will create two new tables using a migration and create the equivalent models
We will create our Quack service and controller
The last stretch! We will create our final namespace, Crumb, and connect it to our other models and our router
Now that our application is completed, we will consider some improvements and discuss alternative approaches.
Deployment
6 Lessons
We will introduce deployments and what we will learn in this module
We will create a Docker image for our application
You will learn how to create a basic CI file for GitHub and GitLab, and run tests on them
We will deploy our application to a server using CI, SSH and git.
We will deploy our application to Digital Ocean Apps. This is by far the easiest (but most costly) approach.
Similar to how we did it in lesson 1, we will be deploying using CI and SSH, but instead of git, we will be using Docker.