⭐ Check out the premium version over at shipclojure.com ⭐
This is a boilerplate for Clojure SaaS applications. It is based on:
- Integrant - System dependency management
- Reitit - Routing
- AWS Cognito - Authentication
- PSQL - Database
- Shadow CLJS - ClojureScript compilation (with hot reloading)
- re-frame - Frontend framework
There are many examples in the Clojure ecosystem but often times there is no place or codebase that keeps all the pieces together. This boilerplate aims to solve that problem by providing a complete solution for building a SaaS application that is truly production and enterprise ready.
- Authentication
- Role based access control
- User management - through the Cognito Console
- Database migrations
- Database seeding
- Database backups
- Database restores
- Database snapshots
- Frontend Web Application
- UI Design System
- UI Components
- UI Boilerplate pages
- Error handling
- Logging
- Monitoring
- Testing
- CI/CD
- Deployment
- Documentation
- Email templates
- Email sending
cp saas-secrets.example.edn ~/.saas-secrets.edn
Populate the secrets with relevant information about you AWS Cognito pool and you local DB
To start a development environment, start a REPL with these aliases dev,backend,frontend,test
, than call (user/reset)
To connect a frontend repl run
npm run dev
OR
npm run devcards # for the UI docs
Then connect remotely to this REPL on port 70002 and run (shadow/repl :app)
or :devcards depending on build