practicalli / practicalli/clojure-web-services
Repl driven development with ring server
Nobody has claimed this yet.
- Dominant language
- Markdown
- Stars
- 16
- Forks
- 14
- PR merge metrics
- No merged PRs in 30d
Description
Update: use Clojure CLI, reitit over Leiningen approach
Instead of lein ring server and having to set up an nrepl connection to the running process (or use wrap-reload), you can start a repl in the project and then start the ring server (jetty, etc) from inside the repl (or evaluating some commented out code in the source file)
Starting the ring server inside the clojure-jack-in repl will block further input at the REPL buffer.
Use the join? option to be able to interact with repl after starting a ring server
Set join? to false to continue using the repl after starting the server and allows request handlers to be changed without restarting the repl or server.
-dev-main function is often created to set different code for development. This is also suggested by lein-ring for including wrap-reload.
-repl-main could be a function that is configured to start the ring server using the join? option
join? option - set to false to prevent the server blocking https://ring-clojure.github.io/ring/ring.adapter.jetty.html
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Clojure CLI REPL and Ring Jetty setup described in the issue, focusing on how the development entry points are configured. Done means a documented or implemented REPL workflow starts the server with join? false while keeping the REPL usable and allowing handler changes without restarting.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100