Building APIs with Node.js

Retired

This book is no longer available for sale.

Building APIs with Node.js

About the Book

Attention: This books is no longer for sales here, now you can buy it via Apress website, take a look: http://www.apress.com/br/book/9781484224410

Currently, we live in a period in which the majority of users use different types of devices to connect to the internet. The most popular devices are smartphones, tablets and notebooks. Developing systems for different types of devices requires the work of building web services, also known by the name of API (Application Program Interface).

Basically, the APIs are back-end systems that are designed to work only with data in a centralized manner, allowing client-side applications to be developed separately, to have a unique interfaces to the final user. These client-side applications are typically mobile apps, desktop applications or web apps.

Since 2010 Node.js increasingly proved to be an excellent platform to solve many problems, especially for building REST APIs. The single-thread architecture that performs non-blocking I/O running on top of JavaScript - which is a very present language in all current browsers - showed good performance in the processing of many kind of applications.

There are some cases of large companies, such as LinkedIn and PayPal, which significantly saved expenses with servers migrating some of their projects to Node.js.

In addition, another advantage of using the Node.js, which captivated many developers, is the low learning curve. After all, who has worked with web development already have at least a basic understanding of the JavaScript language.

In this book, you'll learn in practice how to build scalable APIs in Node.js platform through writing elegant codes using ECMAScript 2015 (aka ES6) and some popular frameworks like Express, Passport, ApiDoc, Mocha, Helmet and more.

The project will be integrated with a SQL database through Sequelize.js and, in the end, you'll build a single page application using only Vanilla JavaScript to consumes the API's data.

See also the portuguese version of this ebook: Construindo APIs com Node.js

About the Author

Caio Ribeiro Pereira
Caio Ribeiro Pereira

Developer, writter, blogger and maker.

Reader Testimonials

Irvin Waldman
Irvin Waldman

Senior Architect

If you desire to take you Node skills to the next level, then Caio’s book is for you! As an experienced software developer, I had many questions regarding how to build an enterprise grade Node application. However it's almost impossible to find a book with real working examples of how to deal with security, API doc, testing, project structure, best practice patterns. Caio addresses these head on. For just the price of a few lattes, you have a cookbook to take your Node skills to the next level!

Table of Contents

  • Preface
    • The current web application scene
    • Who is this book for?
    • How should I study it?
  • Introduction to Node.js
    • What’s Node.js?
    • Main features
    • Why do I need to learn Node.js?
  • Setting up the environment
    • Node.js standard installation
    • Node.js installation via NVM
  • Managing modules with NPM
    • What does NPM do?
    • Top NPM commands
    • Understanding package.json file
    • NPM Task automation
  • Building an API
    • Introduction to Express
    • Getting started the pilot project
    • Implementing a simple and static resource
    • Arranging the loading of modules
  • Working with SQL databases
    • Introduction to SQLite3 and Sequelize
    • Setting up Sequelize
    • Creating models
  • CRUDify API resources
    • Organizing tasks routes
    • Listing tasks via GET
    • Creating tasks via POST
    • Finding a task via GET
    • Updating a task via PUT
    • Deleting a task via DELETE
    • Refactoring some middlewares
    • Creating user’s endpoints
    • Testing endpoint’s access using Postman
  • Authenticating users
    • Introduction to Passport.js and JWT
    • Installing Passport and JWT
    • Implementing JWT authentication
    • Generating tokens for authenticated users
  • Testing the application - Part 1
    • Introduction to Mocha
    • Setting up the test environment
    • Testing the authentication endpoint
  • Testing the application - Part 2
    • Testing task’s endpoints
    • Testing user’s endpoints
  • Documenting the API
    • Introduction to ApiDoc.js
    • Documenting token generation
    • Documenting user’s resource
    • Documenting task’s resource
  • Preparing the production environment
    • Introduction to CORS
    • Enabling CORS in the API
    • Generating logs
    • Configuring parallel processing using cluster module
    • Compacting requests using GZIP middleware
    • Installing SSL support to use HTTPS
    • Armoring the API with Helmet
  • Building the client-side app - Part 1
    • Setting up the app environment
    • Creating signin and signup views
    • Writing signin and signup components
  • Building the client-side app - Part 2
    • Views and components for task’s CRUD
    • Views and components for logged users
    • Creating the main menu
    • Treating all screen’s events

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub