iModel was created to provide a simple boilerplate for creating data models. It provides data validation and a CRUD over HTTP interface with seamless JSON parsing.
"A Promise represents a proxy for a value not necessarily known when the promise is created. It allows to associate handlers to an asynchronous action's eventual success value or failure reason. This lets asynchronous methods return values like synchronous methods: instead of the final value, the asynchronous method returns a promise of having a value at some point in the future."