Getting started

Hi all,

I recently went on Gregs course and want to have a play with the eventstore. The documentation is a little sparse. What are the best resources for getting started? Are there are any sample applications, especially around applying DDD with the eventstore?

Cheers,

Jon

More docs are coming. Best place to start is with the client API.

Here is an example of it being used
https://gist.github.com/gregoryyoung/4406378 for a blog post series
looking at projections.

An alternative is to use the AtomPub API which is heavily documented
(it meets the atom spec).

There is also a couple long "getting started" docs coming out if they
are not out yet (not sure if James published the one with JO event
store yet)

Thereā€™s some reasonable sample code of using the .NET client API for event sourcing (CommonDomain based but you could substitute it fairly easily) available here https://gist.github.com/jen20/4625709

In terms of a persistent subscriber, a description of the process is here: https://groups.google.com/d/msg/event-store/1X-4RpCbtq4/8E5b0kcbhCQJ (or Syzmon made a blog post with a variation on it here: http://simon-says-architecture.com/2013/02/02/mechanics-of-durable-subscription/

Documentation is now my top priority - expect to see improvements in this area very shortly (I know weā€™ve been saying this for a while now - sorry!)

Iā€™m on docs next week as well.

Aside from common domain doc I think a getting started guide is needed. What does everyone else think would be the most useful documentation to have?

Greg

In addition to Getting Started guide:

1)Guidance on when and when not to use EventStore.

2)Performance benchmarks and prerequisites/resources consumed.

3)Diagram(s) that show the organization of the project to use as a roadmap when exploring the code base.

Thanks!

Johanna

Johanna,

By ā€œguidance on when and when not to use EventStoreā€, do you mean this one specifically or in the more general case? Thereā€™s already a fair amount of community documentation about when it is appropriate to use event sourcing/an event store, although I guess we could summarize the key points.

Thanks,

James

I mean this one specifically. =)

It would also be cool to see a small sample app using EventStore. Kinda reference architecture :slight_smile:

Showcase: storing, retrieving, replaying, aggregates, concurrency handling, dispatching, catching up and rest of useful stuff that was discussed in this group, related to building CQRS app on top of ES.

I probably asking for too much. Iā€™m just lazy :slight_smile:

6 фŠµŠ²Ń€. 2013, Š² 00:12, Johanna Belanger [email protected] Š½Š°ŠæŠøсŠ°Š»(Š°):

1 Like

Iā€™d love to see some realistic examples of:

  • pull & push subscribers.
  • dispatching
  • using the built in projections - practical use etc

From how I read Greg, EventStore is like bacon - everything is better with bacon!

(licking bacon ice cream)

No offense ment to those with a different viewpoint on baconā€¦

+1 For a getting started document, especially interested in a ā€œsimplest thing possibleā€ DDD/CQRS/ES working sample.

From how I read Greg, EventStore is like bacon - *everything* is better with
bacon!

Not disputing the value of bacon, but some sort of documentation of
why and when one should use exactly this EventStore (rather than, for
example, joliver's) would be very valuable to my team as well. We're
about to start a project using CQRS, and while still gathering
requirements for the application, we're contemplating what EventStore
implementation to use.

In particular, there are a few keywords on the main page that seem to
be unique selling propositions to the EventStore right now, but I'm
missing in-depth explanations of them (at least I couldn't find them
on the "Docs" part of the website):

- Multi-Node: When would I want to use Multi-Node? And how does
Multi-Node work, exactly? Is this different from having a
SQL-Server-based event store with SQL replication and fail-over?
- Projections: What exactly are projections for? How would I use them
in a typical CQRS-based application/bounded context? Or would I, even?
Is this to replace event handlers on the query side?
- Monitoring Tools: What tools are there? What can I do with them?

As I said, we'll soon need to choose an event store for our
application, and this info would make the decision easier for us.

Best regards,
Fabian

All of these seem like good additions. For projections they are still
marked as "experimental" and not 1.0'ed but are getting close. Have
you seen the ongoing blog series about them?

Hi Greg,

All of these seem like good additions. For projections they are still
marked as "experimental" and not 1.0'ed but are getting close. Have
you seen the ongoing blog series about them?

No, I hadn't yet. I gave my impression based on the main page and the
docs page only :slight_smile:

That said, one additional piece of docs that would be nice just came
to my head: a description of a CQRS reference architecture using
EventStore. Of course this has the danger of people interpreting it
like: this is how Greg Young says you MUST design a CQRS architecture,
rather than: this is one way how to approach a CQRS architecture using
EventStore. But still, this is what people need when they start using
EventStore (for a CQRS application), I think.

Best regards,
Fabian

Weā€™ve just started a getting started series on the blog - so far the following posts are up:

http://geteventstore.com/blog/20130220/getting-started-part-1-introduction/

http://geteventstore.com/blog/20130220/getting-started-part-2-implementing-the-commondomain-repository-interface/