Build Professional REST APIs with Pedestal
Learn how to build robust REST APIs using Pedestal's data-driven interceptor pattern, while structuring applications with Component, using Transit for data transport, and Datomic for persistence.

What You'll Build
Everything you need!
Throughout this course, you'll build a complete REST API with authentication, database integration, and cloud deployment.
- Data-driven interceptor pattern implementation
- System structuring with Component
- EDN transport with Transit
- Database integration with Datomic
- Authentication with AWS Cognito
- Cloud deployment with AWS and Datomic Ions
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 Pedestal's architecture
- Project goals and structure
- Setup
- Development environment configuration
- Editor setup
- GitHub repository setup
- Project structure
- Managing dependencies
- Pedestal Basics
- Starting and stopping services
- Defining routes
- Understanding routers
- Code refactoring for maintainability
- Component
- Component setup and configuration
- Creating API server component
- Database component implementation
- Component usage patterns
- REPL integration with Component
- Interceptors
- System interceptor implementation
- Application-specific interceptors
- Development-specific interceptors
- Interceptor patterns and best practices
- Database
- Loading initial dataset
- Database interceptor implementation
- Data access patterns
- Recipes
- Response formatting
- Listing all recipes
- Response refactoring
- Creating new recipes
- Transit integration
- Retrieving, updating, and deleting recipes
- Specialized interceptors
- Transaction handling
- Query interceptors
- Testing CRUD operations
- Logging implementation
- Route refreshing mechanism
- Steps and Ingredients
- Creating recipe steps
- Testing step creation
- Updating and deleting steps
- Managing recipe ingredients
- Testing ingredients functionality
- Conversations
- Listing conversations
- Testing conversation listing
- Creating and listing messages
- Testing message operations
- Notification system
- Testing notification clearing
- AWS Integration
- AWS overview and architecture
- AWS account and service setup
- AWS configuration for deployment
- AWS Cognito
- Creating Cognito user pools
- Cognito API integration
- Secret hash calculation
- Authentication component
- Account creation and confirmation
- Login implementation
- JWT verification
- Key provider implementation
- Signature validation
- Testing authentication flows
- Datomic + Ions
- Datomic configuration
- Ion setup and configuration
- Pedestal Ion chain provider
- Code refactoring for Ions
- AWS SSM parameter management
- Production deployment
Idiomatic Clojure
The code base for the course has been reviewed by these people. You can be sure you are learning idiomatic Clojure and using the tools as intended.

Paul deGrandis
Pedestal contributor, Kevel
ohpauleez

Daniel De Aiagur
Pedestal contributor, Cognitect/Nubank
ddeaguiar

Wilker Lúcio
Pedestal user, creator of Pathom
wilkerlucio

Thomas Heller
Writes better docs with one eye shut.
thheller
Pricing
Choose your path
Monthly
29CHF/mo
All courses & workshops
- All courses included
- All workshops included
- Cancel anytime
Annual
Best value290CHF/yr
All courses & workshops
- All courses included
- All workshops included
- Save 2 months
Lifetime Access
149CHF
One-time payment, forever
- This course only
- Lifetime access
- No recurring fees
Frequently asked questions
- What will I learn?
- The focus is on building a REST API with Pedestal, using data-driven interceptors, structuring your application with Component, using Transit for data transport, and Datomic for persistence.
- Is this course right for my skill level?
- This course assumes some familiarity with Clojure basics, but does not require previous experience with Pedestal, Component, or Datomic. We build everything step by step.
- 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 will provide a full refund.
- 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.
- Is it best practice?
- Yes! The content of the course has been reviewed and approved by experts including Paul deGrandis (Pedestal contributor), Daniel De Aguiar (Pedestal contributor), Wilker Lúcio (creator of Pathom), and Thomas Heller.
- Can I buy this as a subscription?
- Yes! You can subscribe to ClojureStream and get this course as part of the subscription.
Save time
Save hours of searching and looking at sample repos, this course goes over all the things you need.