Support chat for http://getprooph.org/ - official announcement: https://www.sasaprolic.com/2018/08/the-future-of-prooph-components.html
prolic on v1.10.3
prolic on master
update changelog (compare)
prolic on master
fix restarting projection durin… respect lock in memory resetting projection and 12 more (compare)
Hey all, long time!
I'm designing a small quiz application that has a known structure: Categories
, Series
& Questions
. Categories
have 1 or more Series
. Series
has 1 or more Questions
. You could start any Category
or multiple and in any order (1, 4, 2, 3), but the Series
inside the [started] Category
are linear, as well as the Question
inside the Series
.
Again, for simplicity, we have a known structure.
This logic needs to be kept a bit abstract, in order to allow different "types" of quiz (i.e a single linear series of questions, with other hierarchy or something more complex like "if you answer A your next question is 5").
Scoring rules (for correct or incorrect answers and/or bonus for completion) might change for each instantiated Quiz
.
For each user participating in the quiz, we need to store his state/progress including scoring his answers.
We need to be able to mark events such as:
Answer Submitted
Answer Marked as Correct
& Answer Marked as Incorrect
to be able to provide the right feedback as the appropriate Score Granted
Series Marked as Completed
Category Marked as Completed
What is important here is to be able to determine at any moment the "next question" in each series as well as the states of each series (and the next available) & categories.
What I'm struggling a bit with is the modelling of the aggregates here - where would an answer be submitted to, who would the calculate the score (better yet, aggregate the scores) and how to maintain user-progress within the quiz.
For example: Would it make sense to have an QuizState aggregate that gets created when a new Quiz is started by a certain User and is responsible for all the above events? looks a bit too much responsibility, but I can't figure out how to properly split it...
Hello, I have legacy Symfony PSB + PEStore + PESourcing app, in AggregateRoot I have this:
$this->recordThat(
BookingWasSettledPartly::into(
$this->bookingId,
$newBookingId,
)
);
return $newBooking;
$newBooking is added correctly but this event BookingWasSettledPartly is not, it used to work with older version but now it's not.
What is essential to make it work in this config (PSB+PES+PES)?