Skip to content

Commit 3e9895d

Browse files
intro: tools & library section rewrite for greater clarity
Resolve: #128
1 parent 8395b2b commit 3e9895d

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

docs/index.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ Use a [REPL Workflow approach](introduction/repl-workflow.md) to provide instant
1212

1313
Clojure CLI is used to manage library dependencies and run Clojure code, enhanced with [aliases from Practicalli Clojure CLI Config](https://practical.li/clojure/clojure-cli/practicalli-config/).
1414

15-
Larger projects use Integrant & Integrant REPL to manage components and state, using a reloaded REPL workflow to manage changes in addtion to evaluating functions in the REPL.
15+
Larger projects use [donut.system](service-repl-workflow/donut-system.md) (or Integrant & Integrant REPL) to manage components and state, using a reloaded REPL workflow to manage changes in addition to evaluating functions in the REPL.
1616

17-
Persistence is provides via Postgresql (and eventually JUXT Crux)
17+
Postgresql is used for persistent storage, with next.jdbc and honeysql for database access (SQL). Additional persistence tools and services will be added in future.
1818

19-
tools.build will be used to create Clojure artefacts for deployment, with GitHub actions and Docker used for Continuous Integration and orchestrating systems.
19+
tools.build is used to create Clojure artefacts for deployment, with GitHub actions and Docker used for Continuous Integration and orchestrating systems.
2020

2121
make is a general build tool used to support project development and support automation of wokflow tasks.
2222

@@ -26,15 +26,18 @@ make is a general build tool used to support project development and support aut
2626
??? WARNING "Older content using Leiningen"
2727
Older content uses Leiningen for project configuration. This content can be converted to a Clojure CLI project by creating a `deps.edn` file containing the relevant dependencies. Add a `build.clj` configuration to create assets to deploy, e.g. jar & uberjar.
2828

29+
!!! INFO "Project Templates"
30+
Practicalli Project templates can be used with the deps-new tool to create a new project with common libraries and code to show how those libraries can be wired together.
31+
Practicalli Clojure Web Services guides will include a template for each of the projects in this book (WIP).
32+
2933

3034
## Library Composition approach
3135

3236
The Clojure community provides a diverse set of libraries, each focused on a specific need. Libraries are assembled to rapidly develop a tailored solution, avoiding bloat and the unnecessary complexity that comes with large frameworks. Libraries are relatively simple to replace with alternatives or used as inspiration for your own custom functions.
3337

34-
Templates can be used to create example projects with common libraries, with code to show showing how libraries can be wired together.
35-
provide examples of libraries working together.
3638

37-
??? INFO "Avoiding large frameworks"
39+
40+
??? INFO "Avoid the complexity and inflexibility of large frameworks"
3841
Frameworks are design decisions others have made and generalised to solve a range of problem, so there is no guarantee on how many of those decisions are relevant for the current project.
3942

4043
Frameworks tend to include many features not relevant to the current problem, which can be challenging to remove or replace. Frameworks can be over relied upon, taking away an opportunity to think about the most relevant solution.

0 commit comments

Comments
 (0)