1 Namespaces

(ns exam-vault.handler
  (:require [compojure.core :refer [defroutes routes]]
	    [hiccup.middleware :refer [wrap-base-url]]
	    [ring.middleware.defaults :refer :all]
	    [compojure.route :as route]
	    [exam-vault.routes.home :refer [home-routes]]
	    [exam-vault.routes.gateway :refer [gateway-routes]]))

2 Initialize

(defn init []
  (println "exam-vault is starting"))

3 Teardown

(defn destroy []
  (println "exam-vault is shutting down"))

4 Routes

(defroutes app-routes
  (route/resources "/")
  (route/not-found "Not Found"))

5 The app

(def app
  (wrap-base-url (wrap-defaults
		  (routes home-routes gateway-routes app-routes)
		  site-defaults)))