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.

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
Creator of Reitit
ikitommi

James Reeves
Creator of Ring, Compojure, Integrant
weavejester

Sean Corfield
Maintainer of clojure.jdbc, Creator of next.jdbc
seancorfield

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 popular229CHF
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
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.