Skip to content

Clojurists Together Q3 - Practicalli - Update 1

Clojurists Together Logo

Continued support for Practicalli by Clojurists together is much appreciated and there are several hundred content ideas for the continued work.

Highlights of the last two weeks includes:

  • Live broadcasts - continuing the Banking on Clojure project with next.jdbc, H2 database and DBeaver.
  • Database access and design for Banking on Clojure project
  • Updated practicalli/clojure-cli-config repository to use Congnitect dev-tools for REBL and a way to configure CIDER to work with REBL - UPDATE: approach since deprecated in favour of Portal
  • Test drive of Conjure, an impressive Clojure environment for Neovim

Clojure WebAppsλ︎

Continuing the Banking on Clojure project as a major project, which started from the specifications created in Practicalli study group and will be expanded into a production grade web application.

The application server system, UI, routing and initial handler have been defined and CircleCI used for system integration and generative testing, deploying to a staging environment on Heroku on successful builds.

Currently adding content for database connectivity, database design and using next.jdbc and H2 for a development environment database.

PostgreSQL provisioned using Heroku for staging and production database. Explored JDBC database connection strings, understanding well formed jdbc connection strings, very useful for working with Heroku environment variable for Postgres databases. Using different variations on the db-spec mapping for next.jdbc to minimise the number of environment variables to create.

Once the project is completed with compojure, other routing libraries (bidi, reitit) will be used to show a working comparison, communicating the different approaches taken in a practical way. The same will be done for component lifecycle libraries, eg. mount, integrant and component.

Heroku only commercially available

Heroku stopped providing user accounts with free compute credits, so either Heroku must be paid for or use an alternate approach to deployment in the cloud.

Clojure deps.ednλ︎

Added new aliases and updated existing aliases

  • :cognitect-rebl and :nrepl updated to use the Cognitect dev-tools release for REBL, testing with latest version of CIDER.
  • :database-h2 library dependency to separate the development environment database from staging and production deployment
  • :outdated unsing antq rather than depot (which is no longer under development) to manage dependency versions

[Additional aliases added for lambdaisland/kaocha][https://github.com/practicalli/clojure-cli-config/blob/live/deps.edn#L318-L350] to support ClojureScript test runner, BDD style tests, code coverage and junit-xml reports for CI tools and wall-boards.

Practicalli Clojureλ︎

Added several small projects to help people learn the basics of Clojure, many of which cover the concept of data transformation using the Clojure standard library.

Added docs to use CIDER and Calva with REBL. UPDATE: replaced with Portal

Conjure - vim tooling for Clojure developmentλ︎

Expanding the Clojure aware tools recommendations with Conjure, an excellent development environment for Neovim.

Created a install walk through guide for Conjure that supports those new to Neovim (as I was) which will be added to the Clojure aware editors section in Practicalli Clojure. Also adding an example init.vim configuration that is documented and explains the purpose of the plugins included, supporting the adoption of the Conjure tool. (UPDATE: AstroNvim based Practicalli Astro configuration now used to configure Conjure for Practicalli)

Planning a video of a REPL based workflow using Conjure (and all other editors) to show the tool in action and support effective.