I’d like to ask what your recommendations are for to-do list app tutorials in Clojure/ClojureScript.
I did a cursory search on Clojureverse and it seems that there isn’t yet a thread of people’s recommendations (please do correct me if there is!).
In terms of to-do list app walkthroughs / tutorials: What has worked for you? What would you like to see that doesn’t yet exist? What have you wanted to try, but felt it was too challenging / inaccessible?
I’m personally interested in what are the typical student/learner app architectures/designs versus how people working in the industry tend to do, even if only for smaller / “trivial” apps.
Context / Rationale: I’m attempting to build my own (opinionated) to-do list app, and I’d like to learn from others on how they approached similar projects. You can see where it is today 2021/08/16 as well as hopefully some progress in the fuuuture
A feature I’d like to see in a to-do list is for prioritization to be relative, not absolute. I’d like to be able to add 3 new, equal priority tasks above ‘Priority 1’. Or rather for them to be the new P1 and for everything else to move down a level.
@henry_w What would the rationales be for having auth and database?
I’m personally interested to go simpler as possible, to simply have a static host capable of serving a simple localstorage or cookie saving to-do list - and an even simpler app could do away with persistence.
Auth and database is probably what would start to differentiate a beginner/student/learner from what the industry will ask of a professional.
I doubt many people nowadays contract developers to have them build a local only application.
It’ll be pretty common to want at the minimum a way to sync across all your devices, if not straight up cloud storage.
And as soon as you ask for that, well auth will be needed, since people will tend to not want their data be made public or for anyone to get easy access of or to have it leak.
I think this is also where people will most struggle, since without a framework Clojure throws you in with the lions. Going from no DB to a DB with auth is a big jump, being able to run, maintain, and secure a DB, manage migrations, permissions, backups, scale, consistency, etc.
Todo list apps demonstrate some particular thing, with ‘todo’ being a common set of requirements that’s a step up from “hello, world” but not too complicated.
My one was demoing clojurescript+firebase (the ui lib and build tool are secondary), and e.g. this one is clojurescript+reagent+in-app-tutorial re-learn demo.
If the one you’re thinking of is just demoing clojurescript, that’s great too. Although it will inevitably be clojurescript+some-ui-lib+some-way-of-compiling
Have you heard of the TodoMVC project? Open source project where the same Todo app is implemented in a bunch of different languages/frameworks, so that developers can compare them.
I made an implementation in ClojureScript a while ago, and put up the entire development on YouTube.
Just a quick update, I wanted to share that I got stuck trying to refactor my code to work with a FSM. My intention was to avoid using imperative style loops and non-idiomatic Clojure code. I believe I need better study references to enable me to implement clean state changes in the program. So, towards that effort, here’s my research:
Research 2021_11_01 Todo List Apps (for CLI & Web)
Note: Starring is my way of “highlighting” my next items to investigate. I’m particularly interested in “tiny” apps with fewer technologies*
* and then also I’m interested in command line apps, architectures designed to facilitate clean separation of concerns (Hexagonal, Polylith, Membrane, etc.), Full-stack Web Dev, Pedestal, Reagent, Re-frame, GraalVM, Datomic, DataScript, Datalevin… to name a few things.
Update: This exercise is still on-going. Currently, I am learning more about Hiccup, Reagent, Re-Frame, and full-stack development so I can answer some of my questions regarding how to approach the to-do list app within a GUI context.