<commit_before>---
layout: post
title: "Serverless REST API with Angular, Persistence and Security"
description: "Develop an Angular app from scratch, with serverless REST API, security and persistence and deploy it to GitHub Pages in no time."
date: 2017-02-08 08:30
category: Technical Guide
author:
  name: "<NAME>"
  url: "https://twitter.com/brunoskrebs"
  mail: "<EMAIL>"
  avatar: "https://www.gravatar.com/avatar/76ea40cbf67675babe924eecf167b9b8?s=60"
design:
  bg_color: #000
  image: <A PATH TO A 200x200 IMAGE>
tags:
- foo
related:
-
---

**TL;DR**

Using the right tools, you can create an application from scratch and release it to production very quickly. In this post, I will show you how to develop a task list application, with Angular, that consumes a serverless REST API and persists data to a MongoDB database hosted by mLab. This application will also focus on security, with Auth0, and will be deployed to GitHub Pages.

## Overview

In this post I will show you that, with the right tools, it is possible to start a **full stack** app - a task list application in this case -, from scratch, and release it to production in a short time. By full stack I mean that we will have from static file hosting, going through REST API and security, all the way to the persistence layer. This is how we will manage all the moving parts:

- Identity management and security - this will be supported by [Auth0](https://auth0.com) and will rely JWT tokens.
- Serverless REST API - we will build a small [Express application](https://expressjs.com/) that will run [Webtask](https://webtask.io).
- Persistence layer - we are going to create a [MongoDB database](https://www.mongodb.com/) that is going to be hosted by [mLab](https://mlab.com/).
- Static file hosting - we are going to release our application on [GitHub Pages](https://pages.github.com/).

Since the app that we are going to develop is quite simple, in terms of features, it won't be necessary to have MongoDB running on our local environment, we will use mLab during development as well. The only tools that are expected to be installed are [NodeJS and NPM](https://docs.npmjs.com/getting-started/installing-node).
<commit_msg>Adding 'related' 'tags' and 'category'<commit_after>---
layout: post
title: "Serverless REST API with Angular, Persistence and Security"
description: "Develop an Angular app from scratch, with serverless REST API, security and persistence and deploy it to GitHub Pages in no time."
date: 2017-02-08 08:30
category: Technical Guide, Angular, Angular2
author:
  name: "<NAME>"
  url: "https://twitter.com/brunoskrebs"
  mail: "<EMAIL>"
  avatar: "https://www.gravatar.com/avatar/76ea40cbf67675babe924eecf167b9b8?s=60"
design:
  bg_color: #000
  image: <A PATH TO A 200x200 IMAGE>
tags:
- angular
- serverless
- faas
- webtask
- github
- mongodb
related:
- building-and-securing-a-koa-and-angular2-app-with-jwt
- angular-2-testing-in-depth-services
- angular-2-authentication

---

**TL;DR**

Using the right tools, you can create an application from scratch and release it to production very quickly. In this post, I will show you how to develop a task list application, with Angular, that consumes a serverless REST API and persists data to a MongoDB database hosted by mLab. This application will also focus on security, with Auth0, and will be deployed to GitHub Pages.

## Overview

In this post I will show you that, with the right tools, it is possible to start a **full stack** app - a task list application in this case -, from scratch, and release it to production in a short time. By full stack I mean that we will have from static file hosting, going through REST API and security, all the way to the persistence layer. This is how we will manage all the moving parts:

- Identity management and security - this will be supported by [Auth0](https://auth0.com) and will rely JWT tokens.
- Serverless REST API - we will build a small [Express application](https://expressjs.com/) that will run [Webtask](https://webtask.io).
- Persistence layer - we are going to create a [MongoDB database](https://www.mongodb.com/) that is going to be hosted by [mLab](https://mlab.com/).
- Static file hosting - we are going to release our application on [GitHub Pages](https://pages.github.com/).

Since the app that we are going to develop is quite simple, in terms of features, it won't be necessary to have MongoDB running on our local environment, we will use mLab during development as well. The only tools that are expected to be installed are [NodeJS and NPM](https://docs.npmjs.com/getting-started/installing-node).

{'fraction_non_alphanumeric': 0.08551634552933536, 'fraction_numerical': 0.019484736956051095, 'mean_word_length': 4.202702702702703, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 18, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5939222', 'n_tokens_mistral': 1397, 'n_tokens_neox': 1274, 'n_words': 644}