practicalli / practicalli/clojure-web-services

Introducting component lifecycle management

Open
#12 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

component lifecycle
Dominant language
Markdown
Stars
16
Forks
14
PR merge metrics
No merged PRs in 30d

Description

Overview of lifecycle management in Clojure,

Discuss why and when livecycle management is required

Briefly covering the different approaches taken by Mount, Component and Integrant.

Link to a section and examples of each

component

  • ?

integrant

  • duct
  • ?

Check to see which luminus and pedestal templates use.

Write section on application lifecycle management tools

Application lifecycle management tools configure the many components that are part of an application, such as HTTP server, persistence store access, cache management, passing configuration to routing (db connections, security, etc)

When running an application, lifecycle tools ensure components are configured and started correctly, to provide a consistent startup and clean shutdown of all components.

Some tools also have specific REPL libraries (e.g. Integrant REPL, Component REPL) to support a REPL driven development workflow. These tools can start, restart and stop components in the system or the whole system itself, without requiring the Clojure REPL process to be restarted.

Commonly used projects

Projects to evaluate

Semi-related projects

Resources

Related issues

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No target documentation file is named. Start by reviewing the lifecycle-management overview and the listed Mount, Integrant, Component, Clip, System, and Yurt projects, then check the Luminus and Pedestal templates and related issues. Done means a completed section explains when lifecycle management is needed, compares the approaches, and links to relevant examples.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure
Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.