Domain Driven Design
The idea is to use ember.js for the frontend and drupal for the backend alongside a reddit database for player statistics and a websockets communication layer for player movement. A drupal user = a player character. I'm considering using a graph database to deal with the relationship between players, npcs, factions and other groups. Finally I've experimented with using a functional data store for storing player events called event store.