Build Robust REST APIs with Reitit

Learn to build, test, and deploy production-ready REST APIs with Clojure's composable library approach. Perfect for developers who want to create robust backend services with functional programming principles.

Build Robust REST APIs with Reitit

What You'll Build

Everything you need!

Throughout this course, you'll build Cheffy's backend API - a complete 'AirBnB for chefs' service with authentication, multiple endpoints, and database integration.

RESTful API endpoints serving JSON, Transit, and EDN
Authentication and authorization with JWT and Auth0
Database integration with PostgreSQL
Test-driven API development
Middleware patterns for request handling
Complete API documentation with Swagger
Production deployment to Heroku

All-in-one

This course covers everything from setup to deployment. There is nothing more you will need to build a robust Clojure application.

Introduction
Course overview
Understanding the project architecture
Setup
Development environment configuration
GitHub repository setup
Editor and IDE configuration
Service configuration (Auth0, Heroku)
Project structure
Initial deployment to Heroku
Server
Creating a basic server
Integrant for component management
Development workflow with reloaded pattern
Routing with Reitit
API documentation with Swagger
Database
Database creation and configuration
Schema design
Data seeding
Connection management
Recipes
Implementing CRUD operations
Request and response handling
Parameter coercion
Data transformation strategies
Response formatting
Testing
Setting up test infrastructure
Testing endpoints
Integration testing
Test fixtures
Authentication
Auth0 configuration
JWT tokens and verification
Auth middleware implementation
Testing authenticated endpoints
Role-based authorization
Recipe Features
Developer experience improvements
Favorite/unfavorite functionality
Recipe steps management
Ingredients management
Testing recipe-related features
Accounts
Account creation and management
Auth0 Management API integration
Role assignment and verification
Testing account functionality
Refactoring for maintainability
Conversations
Conversation endpoints
Message management
Notification system
Conversation permissions
Testing conversation features
Production
Connection pooling
Production deployment
Performance considerations
Next steps in your Clojure journey

Idiomatic Clojure

The code has been reviewed by these Clojure experts. Following this course you will learn idiomatic Clojure.

  • Tommi Reiman

    Tommi Reiman

    Creator of Reitit

    ikitommi

  • James Reeves

    James Reeves

    Creator of Ring, Compojure, Integrant

    weavejester

  • Sean Corfield

    Sean Corfield

    Maintainer of clojure.jdbc, Creator of next.jdbc

    seancorfield

  • Thomas Heller

    Thomas Heller

    Creator of shadow-cljs

    thheller

Pricing

Pricing that grows with you

Choose an affordable plan that's packed with the best features.

ClojureStream

39CHF

Get started
  • Access to Pedestal course
  • Access to Datomic course
  • Access to Reitit course
  • Access to Re-Frame course
  • Access to Reagent course

Learn Reitit PRO

Most popular

229CHF

Get Access
  • 8h and 51m of high quality content
  • Learn Reitit and middleware pattern
  • Learn solid libraries used by the community
  • Build REST API with Clojure
  • Pay once, own it forever

Bundle

399CHF

Get Bundle
  • Access to Reagent course
  • Access to Re-Frame course
  • Access to Reitit course

Frequently Asked Questions

What will I learn?
The focus is on Clojure and Reitit. During the course we will build RESTful API endpoints that serve JSON, Transit (msgpack, json), or EDN. Everything built with idiomatic Clojure code.
What is the frontend?
This course is purely about backend, if you are looking for frontend check learnreframe.com — build with ClojureScript and Re-frame.
Is this course right for my skill level?
No prior backend experience with Clojure expected. We'll cover everything in the course from setup to deployment. That said, you should, at least undersand how internet works—request and response.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unsatisfied with the course?
If after watching a couple of first videos you are unsatisfied, get in touch—we we'll provide a full refund.
How long is the course?
The course if few minutes shy of nine hours; 8h and 51m to be exact.
Can I buy this as a subscription?
Yes -- ClojureStream
Does this course support Open Source?
Yes! By buying this course you are supporting Open Source Projects. 10% of profits will be transferred to Clojurists Together to fund critical Clojure and ClojureScript open source projects. Additionally to that, we also support independent software developers working on Clojure projects.
Is it best practice?
Yes! The content of the course has been reviewed and approved by experts: Tommi Reiman (GitHub | Twitter), Thomas Heller (GitHub | Twitter), James Reeves (GitHub | Twitter), and Sean Corfield (GitHub | Twitter)
Who created this course?
Jacek Schae (GitHub | Twitter) is a software developer based in Switzerland. Host of ClojureScript Podcast. Main irritation point for Thomas Heller.

Ready to dive in?

Start learning now.