Fork me on GitHub
Filipe Silva12:04:00

well… not quite quite what’s happening there

Filipe Silva12:04:56

in athens it goes something like: • user interaction triggers an event • frontend resolves that event locally to datascript, then forwards the event to backend • backend also resolves the event to datascript, and forwards the event to all clients • all clients use the event forwarded from the backend to update their state

Filipe Silva12:04:15

using datascript transactions as the communication medium between the frontend and the backend is not great because the state of each can differ, and thus generate different datascript transactions

Filipe Silva12:04:43

in athens we model the event stream first, and derive datascript transactions from the events

Filipe Silva12:04:01

part of this was to be database agnostic and make it easier to change database in both frontend and backend

Filipe Silva12:04:25

so if you want to go from datascript to sql, you add new SQL resolvers

Filipe Silva12:04:14

we have information about our design decisions in this space in the ADR folder

Filipe Silva12:04:20

happy to talk about anything in this space really, lmk if you want to know more

🙏 1

thank you! this gives me a good entry point to learn about this!

👍 1