← Back to context

Comment by heresjohnny

4 days ago

Yeah this took quite some weekends :) Just hang in there and you'll get a project shipped too!

I'm using Angular (yes, really!), and some date-fns utils for the time-related logic. Other than that, it's all custom except for the Catalyst UI library and Frappe charts. The hardest thing to solve was the event-driven foundation (which I'll use for sync support later).

Initially, I started out with Automerge/Yjs but figured that simple event sourcing would be good enough given there's no collaborative/concurrent use case. The benefit of that is that I can actually explain the logic. Not saying those projects lack documentation (they don't), I'm just not comfortable shipping a CRDT that I can't explain e2e. Might change once I have time to dive in properly.

Thanks a lot for your answer!

How about the database? You're just using IndexedDB for the persistence? How was the experience of working with it?

  • Similar I'd love to hear anything you can share about how you are persisting the data. I've been working on the web version of the recommendation todo app that I'm building and so far, since I know basically nothing about web development, I'm storing everything in cookies *ducks*.