When we set out to create Konzilo we had a few ideas in mind:
- The frontend was going to be completely separate from the backend.
- The backend should be in the form of a REST web service and should do as little as possible.
- The data model should be flexible but we still need to ensure some form of consistency.
What we didn't know at the time was that the data model that we set out to build would turn out to be highly relational in nature. We thought of each article in the system as one document, and that document could be big and possibly consist of many sub documents. This worked out great in the beginning, but as we moved forward with the application architecture we found difficulties with this approach.