title: ArangoDB Foxx as a REST back-end
body: <p>I am working on an app that would greatly benefit from Arangos' multi-model capabilities.  Considering the app needs for the back-end, I have concluded that most, if not all, of it could be served through a REST API as to aid cleaner design for future development and integration with others.  The API would then be consumed by several web and mobile front-end frameworks to handle the rest of the logic.  The project will be developed with Javascript for the whole stack, using the NodeJS ecosystem.</p>
  
  <p>.</p>
  
  <p>The question itself:</p>
  
  <p>Should and could one use arangodb + foxx to create the complete back-end stack for serving a REST API, thus avoiding another layer/component in the stack? e.g. express/hapi/loopback etc.</p>
  
  <p>.</p>
  
  <p>Major back-end requirements:</p>
  
  <ul>
  <li>Authentication with roles</li>
  <li>Sessions</li>
  <li>Encryption</li>
  <li>Complex querying (root of my initial thought, as to avoid multiple hops between DB and back-end)</li>
  <li>Entry parsing, validation and sanitization</li>
  <li>Scheduled tasks </li>
  </ul>
  
  <p>.</p>
  
  <p>Mainly looking for:</p>
  
  <ul>
  <li>Known design advantages</li>
  <li>Known design limitations</li>
  <li>"Hidden" bottlenecks</li>
  <li>Other possible future regrets</li>
  </ul>
  
  <p>.</p>
  
  <p>Side question (that might answer some of the above): Could Foxx utilise some of the node middleware available via npm?</p>
  
  <p>Thanks in advance for your time!</p>