Comment by heresjohnny
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?