Congratulations, your Luminus site is ready!

This page will help guide you through the first steps of building your site. #### Why are you seeing this page? The `home-routes` handler in the `cat.routes.home` namespace defines the route that invokes the `home-page` function whenever an HTTP request is made to the `/` URI using the `GET` method. ``` (defroutes home-routes (GET "/" [] (home-page)) (GET "/docs" [] (-> (response/ok (-> "docs/docs.md" io/resource slurp)) (response/header "Content-Type" "text/plain; charset=utf-8")))) ``` The `home-page` function will in turn call the `cat.layout/render` function to render the HTML content: ``` (defn home-page [] (layout/render "home.html")) ``` The page contains a link to the compiled ClojureScript found in the `target/cljsbuild/public` folder: ``` {% script "/js/app.js" %} ``` The rest of this page is rendered by ClojureScript found in the `src/cljs/cat/core.cljs` file. #### Organizing the routes The routes are aggregated and wrapped with middleware in the `cat.handler` namespace: ``` (defstate app :start (middleware/wrap-base (routes (-> #'home-routes (wrap-routes middleware/wrap-csrf) (wrap-routes middleware/wrap-formats)) (route/not-found (:body (error-page {:status 404 :title "page not found"})))))) ``` The `app` definition groups all the routes in the application into a single handler. A default route group is added to handle the `404` case. learn more about routing » The `home-routes` are wrapped with two middleware functions. The first enables CSRF protection. The second takes care of serializing and deserializing various encoding formats, such as JSON. #### Managing your middleware Request middleware functions are located under the `cat.middleware` namespace. This namespace is reserved for any custom middleware for the application. Some default middleware is already defined here. The middleware is assembled in the `wrap-base` function. Middleware used for development is placed in the `cat.dev-middleware` namespace found in the `env/dev/clj/` source path. learn more about middleware »
#### Database configuration is required If you haven't already, then please follow the steps below to configure your database connection and run the necessary migrations. * Create the database for your application. * Update the connection URL in the `dev-config.edn` and `test-config.edn` files with your database name and login credentials. * Run `lein run migrate` in the root of the project to create the tables. * Let `mount` know to start the database connection by `require`-ing `cat.db.core` in some other namespace. * Restart the application. learn more about database access »
#### Need some help? Visit the [official documentation](http://www.luminusweb.net/docs) for examples on how to accomplish common tasks with Luminus. The `#luminus` channel on the [Clojurians Slack](http://clojurians.net/) and [Google Group](https://groups.google.com/forum/#!forum/luminusweb) are both great places to seek help and discuss projects with other users.