To-do list app tutorial recommendations

Hey Clojure friends :wave::slightly_smiling_face:

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 :grin:

2 Likes

Here’s one I made GitHub - henryw374/firebase-clojurescript-todo-list: tutorial on setting up a simple todo list app with cl, the aim of which is to show that creating a Firebase app with Clojurescript doesn’t need any wrapper libraries.

1 Like

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.

2 Likes

@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.

@Andy_Wootton Have you heard of AutoFocus? It might be what you are looking for. Here’s a 3rd party summary as well as the original author themselves’ blog post on the method.

I am enjoying reading this post on a simple command line to-do list app here: Creating a TODO cli with Clojure - DEV Community

I believe this kind of simplicity is close to what I’m hoping to recreate in terms of architecture and scope.

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.

2 Likes

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

1 Like

I have created a very basic introductory video to create a simple todo list app in Clojurescript here:

https://www.youtube.com/watch?v=tRYreGS53Z4

1 Like

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.

1 Like

I’ve built this one:

Here the corresponding blog post:

https://maxweber.github.io/blog/2019-08-20-introducing-db-view-part-3

The approach is still in use today in our 2 SaaS businesses.

1 Like