Playing with the EventStore
I pulled the EventStore out a while ago to play with, with the intention of making a cool Github InfoGraph type thing, it never quite materialised thanks to the rate limits imposed by Github, and then other stuff came up (like I've got a game engine I'm working on and I want to blog about!)
That said, I had some downtime this week in between engagements and decided to bring it up again and blog about some of the things I did with it and some of the questions we're able to ask with the projections feature (which is hitting a point of maturity now which it didn't have before).
Anyway, setting up the EventStore on my Debian install sorta looked like this
- Do a fresh build of Mono 3.0.5 (it won't work on the 2.10 that ships out of the box)
- git clone the event store
- checkout the projections branch (not out yet)
- xbuild EventStore.sln
- Build the v8 stuff
- Set up LD_LIBRARY_PATH so the v8 stuff can be loaded from the .NET exe
Coolio, so we'll assume that this is running throughout my little experiment and that I can access it on http://127.0.0.1:2113
Browsing to that URL, we can see a veritable playground of shinies, the most important for me are
- See All Streams
- Projections
Popping into the "See all Streams", we can see a big pile of json, what's cool about this is
- It's a pile of links
- The links tell us what types are accepted
- I can request this in various types as well (see the ?format=json) in this URL
Basically, it's AtomPub, and AtomPub is used across the EventStore for interactions - which means no faffing around with custom formats or any of the crap associated with a lot of proprietary systems.
Anwyay, I haven't currently got any info in my event store so I guess I'll look at that next...