In this Tutorial, we are going to build an eBay-style e-commerce store that we will call Garage Commerce. It will be a store where users can upload and list items they would usually put up for a Garage Sale. Authenticated users can browse through the products and buy them.

Some of the interesting topics that we will cover are as follows:

  • Using AWS DynamoDB and S3 to store our product information
  • Using Facebook login and AWS’s Web Identity Federation to authenticate users
  • Using the UI-Router to build nested views

As one would know, building an e-commerce store requires some heavy backend coding and extensive interactions with a database. A couple of years back, the thought of building an e-commerce store using just client-side scripts would have sounded quite absurd. However, thanks to a new breed of BaaS services, it is now possible to build a full-fledged e-commerce store just using JavaScript.

Backend as a Service

Backend as a Service (BaaS), sometimes also referred to as Mobile Backend as a Service (MBaaS), is quickly gaining popularity as it helps application developers to quickly build client-side or mobile applications without having to worry about the database or server-side part of the application.

Some of the popular BaaS services are as follows:

  • Parse (
  • Firebase (
  • Kinvey ( free/trial
  • AWS ( free for 1 year

Besides providing APIs to perform CRUD and query operations on a database, most of these BaaS offer additional benefits such as easier OAuth sign on using Facebook and Google.

Firebase is a nice tool that automatically syncs data across all connected devices. AngularFire is a helper library that makes it easy to integrate Firebase with angularjs.

While AWS does not project itself as a BaaS provider, one can make use of a combination of its various services to work like a BaaS.