tl;dr: There’s not much code and it lives (along with a summary of this post) here. Get it from rubygems with gem install scan_left!


At Panorama we use an event-sourced architecture to persist schools’ data. Rather than just storing the current state of a school’s data, like we would with a CRUD approach, we instead store events that describe how the data changes. (Stay tuned for a future post focused on event sourcing!)

We view schools’ data at a granular level — for example, we record an event every time we observe that a student’s GPA (grade point average) has…

Parker Finch

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store