33A quick way to start a full-stack Clojure app with server-side rendering.
44Based on SQLite, HTMX, AlpineJS, and TailwindCSS v4.
55
6- ## Features
7-
8- - ** Server-Side Rendering** : Use Hiccup for HTML generation
9- - ** Modern Frontend Stack** : Dynamic frontend with AlpineJS and HTMX for interactive components
10- - ** Styling** : Pre-configured with TailwindCSS v4 for modern, utility-first styling
11- - ** Database** : SQLite integration for simple yet powerful data persistence
12- - ** Development Tools** :
13- - Hot reloading for rapid development
14- - REPL-driven development support
15- - Integrated testing setup
16- - ** Deployment Ready** :
17- - Docker configuration included
18- - Deployment setup with Kamal
19- - GitHub Actions workflows for CI/CD
20- - ** Code Quality** :
21- - Clojure formatting (cljfmt)
22- - Linting configuration (clj-kondo)
23- - Test infrastructure
24-
25- ## Stack:
26-
27-
286## Usage
297
3081 . Create a new Clojure project using Clojure CLI:
@@ -40,22 +18,76 @@ Based on SQLite, HTMX, AlpineJS, and TailwindCSS v4.
4018 neil new io.github.abogoyavlensky/clojure-stack-lite myproject
4119 ```
4220
43- 2 . Update the project configuration:
44- - Edit image label in ` Dockerfile `
45- - Edit project domain in ` resources/public/manifest.json `
46- - Edit project description in ` README.md `
21+ 2 . Start development:
4722
48- 3 . Start development:
49- Manage project and start server from built-in REPL:
5023 ``` shell
5124 cd myproject
52- # Run server in dev mode
5325 bb repl
5426 (reset)
5527 ```
56-
28+
5729 The server should be available at ` http://localhost:8000 ` .
58- Check out README.md for more information on how to use the project.
30+ Check out project's README.md and template documentation for more information on how to use the project.
31+
32+ > [ !TIP]
33+ > You might need to update the project configuration for going to production:
34+ - Edit image label in `Dockerfile`
35+ - Edit project domain in `resources/public/manifest.json`
36+ - Edit project description in `README.md`
37+
38+ ## Features
39+
40+ - ** Server-Side Rendering** : Use Hiccup for HTML generation
41+ - ** Modern Frontend Stack** : Dynamic frontend with AlpineJS and HTMX for interactive components
42+ - ** Styling** : Pre-configured with TailwindCSS v4 for modern, utility-first styling
43+ - ** Database** : SQLite integration for simple yet powerful data persistence
44+ - Migration system with Ragtime
45+ - SQL query building with HoneySQL
46+ - WAL mode enabled for better concurrency
47+ - ** Development Tools** :
48+ - Hot reloading for rapid development
49+ - REPL-driven development support
50+ - Integrated testing setup with code coverage
51+ - Dependency management with deps.edn
52+ - Babashka tasks for common operations
53+ - ** Deployment Ready** :
54+ - Deployment setup with Kamal
55+ - GitHub Actions workflows for CI/CD
56+ - ** Code Quality** :
57+ - Clojure formatting (cljfmt)
58+ - Linting configuration (clj-kondo)
59+ - Test infrastructure with eftest and cloverage
60+ - Dependency version checking (antq)
61+
62+ ## Stack
63+
64+ ### Backend
65+ - ** Integrant** : Component lifecycle management for applications
66+ - ** Reitit** : Fast data-driven routing
67+ - ** Ring/Jetty** : HTTP server adapter
68+ - ** Hiccup** : HTML generation from Clojure data structures
69+
70+ ### Database
71+ - ** SQLite** : Lightweight, file-based database
72+ - ** next.jdbc** : JDBC-based database access
73+ - ** HoneySQL** : SQL as Clojure data structures
74+ - ** Ragtime** : Database migrations
75+
76+ ### Frontend
77+ - ** HTMX 2.0** : HTML extensions for AJAX, WebSockets without writing JavaScript
78+ - ** AlpineJS 3.x** : Lightweight JavaScript framework for adding behavior
79+ - ** TailwindCSS 4** : Utility-first CSS framework
80+
81+ ### Development
82+ - ** Babashka** : Project management with tasks
83+ - ** clj-kondo** : Static analyzer and linter
84+ - ** cljfmt** : Code formatter
85+ - ** eftest/cloverage** : Testing and code coverage
86+
87+ ### Deployment
88+ - ** Docker** : Containerization
89+ - ** Kamal** : Zero-downtime deployments
90+ - ** GitHub Actions** : CI/CD workflows
5991
6092## Project structure
6193
0 commit comments