Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
October 18, 2019 21:09
January 27, 2019 13:26
January 27, 2019 13:26
January 19, 2019 20:22
April 15, 2018 18:19
January 27, 2019 13:26
January 26, 2019 23:47
January 27, 2019 13:26

Building RESTful Web APIs with Node.js, Express, MongoDB and TypeScript

This is a simple API that saves contact information of people.

There are two versions of this project.

  • V1.0.0: you can run the server directly after cloning this version. It will create a simple RESTful API over HTTP.
  • V2.0.0: this is a more secure and control API project. You need to read the post on how to secure RESTful API application first. After that, you can run the project.



Install global TypeScript and TypeScript Node

npm install -g typescript ts-node

Getting Started

You should install MongoDB on your local machine, or use other services such as mLab or Compose

After that, you will have to replace the mongoURL with your MongoDB address in lib/app.ts

Clone this repository

git clone .

Then install the dependencies

npm install

Start the server

Run in development mode

npm run dev

Run in production mode

npm run prod

Testing over HTTP (tag v1.0.0)

The default URL is: http://localhost:3000

  • GET all contacts
Send GET request to http://localhost:3000/contact/

Testing over HTTPs (tag v2.0.0)

The default URL is: https://localhost:3000

The key and cert in the config folder is for testing purpose only. You should generate your own.

Reference from