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
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
Pro
Most popular179CHF
Get started- Build REST API with Pedestal
- Setup system with Component
- Communicate data with Transit
- Persist data with Datomic
- Deploy to AWS
Bundle
799CHF
Get the bundle- Access to Reagent
- Access to Re-frame
- Access to Reitit
- Access to Datomic
- Access to Pedestal
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.