Web Development in Clojure

Introduction

Recently, I got interested into learning the functional paradigm of programming because of many factors with the concept of immutability and minimalistic approach of programming being a few. Also, one of the biggest motivation was the fact that, I want to learn at least one programming language in all the major programming paradigms. I know Python which follows Object Oriented Programming and is also a scripting language, I know Golang which follows the Interface based programming,now I want to learn clojure because it follows the Functional programming paradigm and since it has access to most of the Java functionalities hence there a lot of battle tested functions to exploit as well.
I believe learning by doing is the best way to internalize a new stuff.So, let’s start building a project. Here, I would be building a URL shortening service for the same purpose.

Steps

i) Create the project using leiningen lein new app web-dev-clojure
ii) Open emacs then open this project C-x C-f navigate to the the core.clf inside src
iii) Run the REPL using Cider M-x RET cider-jack-in

Project crux

Code of this project can be found here.
I’ve create this presentation in which I would explain how to build a URL Shortening Service in Clojure and hence teaches the basics of Web-Development in Clojure.

Follow this video demonstration of the above service and explanation of the background concepts.