Fortune.jsGitHub Repository


Fortune.js comes with some defaults to work out of the box. Plugins extend functionality by implementing the built-in classes, or integrating Fortune.js with an external protocol.


Memory (included)In-memory adapter, does not persist to disk.
IndexedDBPersistent data storage adapter that works in modern browsers, falls back to memory if not available.
MongoDBNoSQL document data store.
PostgresRelational database adapter, translates arguments directly to SQL.
RedisIn-memory data structure store.
Google Cloud DatastoreGoogle Cloud Datastore, NoSQL.
NeDBEmbedded document data store with an API that is mostly compatible with MongoDB.
File SystemAn extension of the built-in memory adapter that persists records on disk as flat files.
localForageTakes advantage of localForage, which wraps IndexedDB, WebSQL, or localStorage. There is also a Cordova SQLite Driver.
ElasticSearchSearch engine based on Lucene.


HTTPImplements the requestListener function for http.createServer, composable with Connect, Express, and similar frameworks.
WebSocketImplements the Fortune wire protocol, useful for isomorphic applications using Fortune in the browser.

HTTP Serializers#

This section is only relevant to the fortune-http module.

HTTP SerializerDescription
JSON (included)A thin mapping of Fortune.js over HTTP using JSON.
HTML (included)A simple user interface for Fortune.js, exposing most of its capabilities.
Form (included)Create & update records using browser form input. Input only.
Micro API [spec]A serialization format for hypermedia APIs.
JSON API [spec]JSON API 1.0 compatible, useful for clients such as Ember Data.