polylith
clojure-polylith-realworld-example-app
polylith | clojure-polylith-realworld-example-app | |
---|---|---|
2 | 5 | |
490 | 435 | |
1.4% | - | |
8.7 | 5.0 | |
13 days ago | 8 months ago | |
Clojure | Clojure | |
Eclipse Public License 1.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
polylith
-
Polylith is a functional software architecture at the system scale
You can get an idea by looking at the Production systems page (https://polylith.gitbook.io/polylith/conclusion/production-s...) where each column in the first diagram is a project (deployable artifact / service). All components are specified in a single file, like the configuration file for the poly tool itself: (https://github.com/polyfy/polylith/blob/master/projects/poly...).
I try to explain it in the "Bring it all together" section also: https://polylith.gitbook.io/polylith/architecture/bring-it-a...
-
Sean Corfield's blog post series "deps.edn and monorepos (Polylith)"
And then in this discussion due to the way frontend code is very differently structured than backend code: https://github.com/polyfy/polylith/discussions/168
clojure-polylith-realworld-example-app
- The Real World Polylith Example in your Browser
-
Polylith is a functional software architecture at the system scale
I tried looking into Polylith a few months ago, when I first discovered it. I recall the feeling of experiencing information overload. Though, I am not a Clojure expert either, so that probably compounded my issue.
I believe it would be beneficial to supply more example projects. I found [one](https://github.com/furkan3ayraktar/clojure-polylith-realworl...), however, it uses SQLite. Maybe an example which uses Postgres, and Redis for caching would be more real-world?
One question I have, how are ENV variable driven configurations handled? For example, if I need a `DATABASE_URL` etc. I recently ran into an [issue](https://discord.com/channels/313110246643990528/313110246643...) in my own Clojure web service attempt where I could not use `def` to define the individual variables since they are evaluated at Uberjar build time. I eventually converted it to a `defn` but then it gets evaluated every time it's used.
-
Everything you need to learn Polylith
If you want to jump straight into some code, then head over to the Polylith RealWorld example app.
-
is bulding rest apis with clojure a good idea ?
You can check out my example project in Clojure with using Ring.
-
Open Source Web Application To Look Through?
Haven't looked at it myself but I am aware of https://github.com/furkan3ayraktar/clojure-polylith-realworld-example-app
What are some alternatives?
ring-oauth2 - OAuth 2.0 client middleware for Ring
usermanager-example - A little demo web app in Clojure, using Component, Ring, Compojure, Selmer (and a database)
fulcro-rad-demo - A demo for Fulcro RAD using either SQL or Datomic databases.
fulcro-template - A sample project that could be used as a starting point for a Fulcro 3 project.
ring - Clojure HTTP server abstraction
clojure-polylith-realworl
conduit - Real world application built with ClojureScript + re-frame
kee-frame-sample - Demo application to show off features of kee-frame