# Introduction

# What will you learn here?

In this workshop, we will:

  • Build a Node.js REST API from scratch using NestJS framework
  • Connect your API with a Database to save and retrieve data using entities
  • Create a file upload API to store images in the cloud
  • Deploy your API using Azure Serverless platform

Because it's better to learn new things while having fun, we will build a social service API to share fun facts and pictures about your favorite pets! 🐱🐢🐹🐰

# Meet the stack

Our focus will be centered on NestJS and Azure. If you never used these tools before don't worry, it's the perfect chance to get to know them. Here is a quick presentation for starters.

# NestJS (docs.nestjs.com)

nestjs logo

NestJS is a framework for building efficient, scalable Node.js server-side applications. It is built with and fully supports TypeScript, and uses latest design patterns and best practices allowing to built robust modern apps easily.

Under the hood, NestJS makes uses of Express HTTP server but can optionally be configured to use Fastify, allowing you to leverage the huge ecosystem of their assocaited libraries.

Did you know?

NestJS leverages similar concepts, features, architecture and tools as Angular framework, but tailored for Node.js backend development.

# Azure (azure.microsoft.com/overview)

azure logo

Azure is Microsoft's cloud computing offer for building, testing, deploying and managing applications and services. The platform provides IaaS, PaaS and SaaS solutions with an ever extending range of services.

For this workshop, we will use serverless services to store data and host our application without having to manage any of the underlying infrastructure. In particular:

# Nitro (nitr.ooo)

nestjs logo

Nitro is a growing set of open-source developer tools to help you build, deploy and scale Node.js apps on Microsoft Azure.

It's designed in particular to leverage Azure Serverless platform be able to push your app in production in no time, at a reduced cost.