Duetcode

Introduction to ruby on rails API-only course

20 June 2020

In this course, we’re going to build API-only ruby on rails application called bookmarker. It will be a functional clone of instapaper. I make this course for the people already worked and familiar with ruby on rails framework, and I can say that the course focuses on intermediate and advanced topics. You can also read the motivation behind this course from about page.

Which technologies will we use?

We will use rails version 6.0 with ruby version 2.6, but since the course aims to teach best practices, you can easily apply the approaches that we used in the course with later versions of both ruby and rails. Besides that, we’re going to use PostgreSQL as a relational database, Sidekiq for background jobs, Swagger for the API documentation, Stripe for the payment integration, RSpec for the test suite, and Elasticsearch for full-text search.

What are we going to build?

Instapaper is a web service that basically allows you to store bookmarks and read them later, like pocket if you heard it before. I would recommend you to signup (free account will be enough for the course) and use the service to gain more information about what we’re going to build. It might seem like a small service, but we will actually develop almost all of its functionality that covers many topics like authorization, payment, error handling, text-to-speech API integration, deployment, and performance. You can find the source code of bookmarker application that we will build on github.

About course progress

The course is going to be ongoing until all chapters have written. I’m planning to add one new chapter every week, so you can check the course weekly basis if you’re reading it while I’m building.

And one last thing before diving into the course itself, I would greatly appreciate it if you give me feedback about the course. You can check the about page to see my social media accounts and email address.

Let’s start with the create a new rails application and setup boilerplate chapter of the course!