Seeing that this will be a multi-user application, I'd opt for a client-server architecture. This has the added benefit that we can write/replace both sides separately and play around with different approaches.
A simple RESTful service using JSON messages should do the trick for the server side. A client implementation could be done as a website or console application, or perhaps even a mobile app if someone is feeling generous.
Given the premise from the readme, that backwards and forwards compatibility should be part of the design criteria, I'd suggest versioning the APIs from the start. I'm not entirely sure how to best incorporate that with the statelessness of the REST principles though; any thoughts?
Seeing that this will be a multi-user application, I'd opt for a client-server architecture. This has the added benefit that we can write/replace both sides separately and play around with different approaches.
A simple RESTful service using JSON messages should do the trick for the server side. A client implementation could be done as a website or console application, or perhaps even a mobile app if someone is feeling generous.
Given the premise from the readme, that backwards and forwards compatibility should be part of the design criteria, I'd suggest versioning the APIs from the start. I'm not entirely sure how to best incorporate that with the statelessness of the REST principles though; any thoughts?