You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/service-repl-workflow/donut-system.md
+14-7Lines changed: 14 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,22 +1,29 @@
1
1
# Donut System
2
2
3
-
!!! WARNING "Draft page"
4
-
This is an early draft of using Donut to manage system components, although all the code does work when added to a project created with [Practicalli Project Templates](https://github.com/practicalli/project-templates/) - `practicalli/service` template. Some of the writing and examples may be improved as more is learned about Donut
5
-
6
-
7
3
[Donut system](https://github.com/donut-party/system) takes a system as data approach, using a hash-map to define the overall system with keys to define each component (or component group) in that system.
8
4
9
5
Component definitions are also a hash-map with `:start`, `:stop`, `:config` keys to express how to manage that component
10
6
7
+
> Donut system configuration is a similar data-centric approach to that used by reitit for http request routing.
8
+
11
9
??? WARNING "Practicalli uses ::donut alias instead of ::ds"
12
-
Practicalli requires the donut qualified keywords using `donut` rather than the more cryptic `ds`
10
+
The `donut.system` library is required using the `:as donut` alias.
13
11
14
-
Practicalli recommends meaningful alias names or not using an alias at all, instead requiring specific functions. This makes code easier to read and searching considerably easier (fewer false matches)
12
+
`::donut` is used as the keyword qualifier
15
13
14
+
Practicalli recommends meaningful names to make code easier to read and searching considerably simpler (fewer false matches)
16
15
17
16
18
-
> Donut system configuration is a similar approach to that used by reitit for http request routing.
17
+
## Create project with Donut
19
18
19
+
`practicalli/service` template from [:fontawesome-solid-book-open: Practicalli Project Templates](https://github.com/practicalli/project-templates/){target=_blank} can be given a `:component` option to include the Donut System library and example code.
20
+
21
+
`:project/create` alias from [:fontawesome-solid-book-open: Practicalli Clojure CLI Config](https://practical.li/clojure/clojure-cli/practicalli-config/){target=_blank}
22
+
23
+
!!! EXAMPLE "Create Clojure Web Service project with Donut"
0 commit comments