Skip to content

Requirementsλ︎

Practicalli provides an install guide for Clojure and a wide selection of Clojure aware editors

Recommended development tools for this guide are:

Code examples can be used with any Clojure build tool, although this guide focuses on using Clojure CLI tools. Some examples use Leiningen and will be updated to Clojure CLI, although the Clojure code will be the same.

Additional Development toolsλ︎

To complete all the steps in this guide, especially around deployment tasks, additional development tools and services are required.

Development Tools Version Test (command line)
Git client latest git --version
Docker Desktop latest docker --version
Postgres database latest

GitHub and GitHub actions will be predominantly used in this guide, although more use of CircleCI and GitLab will also be introduced. CircleCI is a developer focused service for Continuous Integration, developed with Clojure, providing obs that package up common workflows such as deploying to specific Cloud services.

Continuous Integration Services
GitHub Actions
GitLab CI
CircleCI
Heroku deployment to be deprecated

Heroku has been used to simplify deployment directly from source code using existing build packs. Heroku now requires a commercial license for deployment so this content is to be deprecated.

Persistence Alternativesλ︎

Practicalli is considering other persistent storage approaches for this guide and any contributions in this regard is much appreciated

  • Crux - an open source document database with bitemporal graph queries
  • Datomic - a commercial transactional database with a flexible data model, elastic scaling, and rich queries.
  • Amazon Aurora - MySQL and PostgreSQL compatible cloud native relational database
  • Amazon DynamoDB with Clojure Faraday library - for persisting JSON like data structures

Leiningen approach (to be archived)λ︎

Install Leiningen for the Leiningen Todo App project and test the Leiningen install by running the command lein version in a terminal application.