Design a site like this with
Get started

[10] [ProjectX] – Create Book Catalog API using Claudia.js

Source Code:

In order to learn serverless computing on AWS, we will need a sample project. So, let’s take the canonical example used everywhere, that of a books catalog.

So, we are on a mission to develop API for managing book catalog. This basically means, we should be able to do CRUD operations on the catalog.

As we saw in earlier blog post, it is way easier to manage and deploy such projects using Claudia.js framework. So, we will be making use of it here.


Login to your Cloud9 IDE and create the folder structure like one below

Open Terminal windows on this folder by right-click and selecting Open Terminal here

Now we will install Claudia.js framework. Execute following command

npm init

Just enter description as shown below and leave rest of the fields blank by pressing ENTER

package name: book-catalog-api

description: Api for managing books catalog

Now we will install Claudia.js related packages. Enter following command

npm install -g claudia

Then execute another command

npm install claudia-api-builder -s

You should see confirmation of both installations as shown below

Now we have basic setup for the project. Let’s write some code.

Create a file called “index.js” under book-catalog-api folder and paste contents into it from GitHub


Similarly, copy 5 files from GitHub in handlers folder also, as shown below

If you go through the code in above files, you will find that it has dummy functions which return static data. Let’s start with this right now and we will change the code to be more dynamic later.


Now let’s get started with deployment of this project. Execute the following command on your terminal windows

Presto! We have the deployment done

You can check that Claudia.js framework has created a Role as well as APIs for us.

So Claudia.js framework created the following things for us

  1. Role
  2. APIs
  3. Lambda function to service API

Also, we have created the following API endpoints

Sr. No. Path HTTP Method Description
1 / GET API welcome page
2 /books GET Get all books
3 /books/{id} GET Get one book
4 /bookadd POST Add a book
5 /bookdelete/{id} DELETE Delete a book
6 /bookupdate/{id} PUT Update a book’s details

Now we will test each endpoint


Open Postman API testing utility and let’s hit all the endpoints one by one

Test-1: Test Root Url for API to get welcome message.



Test-2: Get all books


Method: GET


Test-3: Get one book


Method: GET


Test-4: Add a new book


Method: POST



Test-5: Update a book (Let’s discount the price)


Method: PUT



Test-6: Delete a book


Method: DELETE

Let’s clean up the resources now by running the below command

claudia destroy


With this, we have taken first step in developing serverless API for a sample project. In next posts, we will keep refining it to add more features to it.

Happy Clouding!


1 thought on “[10] [ProjectX] – Create Book Catalog API using Claudia.js

  1. […] will now deploy this api project using the easy deployment method we have seen till now,i.e. using Claudia.js […]

    Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: