Module 1 (Chapters 2-10)
Simple Sinatra APIs to understand the basics of the Web
With a mix of history, web standards and best practices, this chapter will equip you with strong web API foundations to kickstart your learning.
Understand HTTP, caching, versioning, authentication and much more! But it’s not just theory - you’ll discover how to build Sinatra APIs with everything you’ve learned so far.
Module 2 (Chapters 11-28)
Building a complete web API with Rails 5
You’ll learn how to create a real-life application: an e-commerce API selling digital books.
To write robust code, we follow a TDD-like approach. And we don’t hesitate to go out of the “Rails Way” to create clean and maintainable code (going far beyond simple MVC).
This API is more than just a “tutorial application”. You’ll integrate everything you need to practically release and deploy it to Heroku.
Some of the key highlights:
- A complete set of resources to sell books (books, publishers, authors, purchases, etc.)
- A secure authentication mechanism for clients AND users that will protect us (from timing attacks for example).
- A bunch of optimization tricks with compression and caching.
- A set of custom made tools to handle the representations generation (representation builders, query builders, serializers, etc.)
- Support for CORS requests in order to build JavaScript clients.
Module 3 (Chapters 28-32)
Understanding REST and turning Alexandria into a hypermedia API
In the last module, you’ll discover REST and what it really is (hint: it’s probably more than you think)! You’ll review the REST constraints and learn why Alexandria cannot be considered a RESTful API. We’ll also explore what needs to be changed to make that happen.
Then you’ll learn how to transform Alexandria into a hypermedia API and discuss some of the options regarding hypermedia formats.