-
Notifications
You must be signed in to change notification settings - Fork 0
The Stack
Ethan Smith edited this page Mar 25, 2015
·
7 revisions
Product | Version | What it does | How we use it |
---|---|---|---|
Hosting | |||
DigitalOcean | |||
Amazon S3 | |||
Databases | |||
OrientDB | 2.0.0 | OrientDB is an Open Source NoSQL DBMS with the features of both Document and Graph DBMSs. | OrientDB is AskNature's primary database, and is used to store and index everything except for some user information. |
Platform | |||
Node.js | 0.12.1 | Node.js® is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices. | Node provides the foundation of the AskNature application. |
NPM Packages | |||
async | Async provides around 20 functions that include the usual 'functional' suspects (map, reduce, filter, each…) as well as some common patterns for asynchronous control flow (parallel, series, waterfall…). All these functions assume you follow the Node.js convention of providing a single callback as the last argument of your async function. | ||
bcrypt-nodejs | Native JS implementation of BCrypt (Bcrypt is a cross platform file encryption utility) for Node. Has the same functionality as node.bcrypt.js expect for a few tiny differences. | ||
body-parser | Body parsing middleware for singlepart bodies. | ||
cached | A simple caching library, inspired by the Play cache API and biased towards showing stale data instead of dog piling. The interface only exposes very limited functionality, there's no multi-get or deletion of cached data. The library is designed to support different caching backends, though right now only memcached is implemented. | ||
colors | Color and style in your node.js console. | ||
compression | Node.js compression middleware. The following compression codings are supported: deflate & gzip | ||
cookie | A basic cookie parser and serializer. It doesn't make assumptions about how you are going to deal with your cookies. It basically just provides a way to read and write the HTTP cookie headers. | ||
cookie-parser | Parse Cookie header and populate req.cookies with an object keyed by the cookie names. Optionally you may enable signed cookie support by passing a secret string, which assigns req.secret so it may be used by other middleware. | ||
director | A routing library that works in both the browser and node.js environments with as few differences as possible. Simplifies the development of Single Page Apps and Node.js applications. Dependency free (doesn't require jQuery or Express, etc). | ||
ejs | Embedded JavaScript templates. | ||
Express.js | Officially, Express.js is a "Fast, unopinionated, minimalist web framework for Node.js." This article provides a much more nuanced overview and is a great primer for Node & Express. | Express adds a framework on top of Node that AskNature uses for routing, request handling, and a bunch of other cool stuff. | |
express-session | Simple session middleware for Express. | ||
flux | An application architecture based on a unidirectional data flow. | ||
form-serialize | This module is based on ideas from jQuery serialize and the Form.serialize method from the prototype library. form-serialize supports two output formats, url encoded (default) or hash (js objects). | ||
griddle-react | Griddle is a simple grid Component for use with React. It depends on underscore.js and React. | ||
intl | Google have an implementation of this API that is available in recent versions of V8 and Chrome/Chromium 24 and later. Mozilla also have a working implementation in the current Firefox nightly builds. Intl.js fills the void of availability for this API. It will provide the framework as described by the specification, so that developers can take advantage of the native API in environments that support it, or Intl.js for legacy or unsupporting environments. | ||
keymirror | A simple utility for creating an object with values equal to its keys. Identical to react/lib/keyMirror | ||
lodash | The modern build of lodash exported as Node.js/io.js modules. A JavaScript utility library delivering consistency, modularity, performance, & extras. | ||
lusca | Web application security middleware for Express. | ||
memcached | memcached is a fully featured Memcached client for Node.js. memcached is built with scaling, high availability and exceptional performance in mind. We use consistent hashing to store the data across different nodes. Consistent hashing is a scheme that provides a hash table functionality in a way that adding or removing a server node does not significantly change the mapping of the keys to server nodes. The algorithm that is used for consistent hashing is the same as libketama. | ||
method-override | Lets you use HTTP verbs such as PUT or DELETE in places where the client doesn't support it. | ||
morgan | HTTP request logger middleware for node.js | ||
node-jsx | transparently require() jsx from node | ||
nodemailer | Easy as cake e-mail sending from your Node.js applications | ||
nodemailer-sendgrid-transport | This module is a transport plugin for Nodemailer that makes it possible to send through SendGrid's Web API! | ||
object-assign | ES6 Object.assign() ponyfill | ||
Oriento | Official node.js driver for OrientDB. Fast, lightweight, uses the binary protocol—which happens to be the fastest option available. | Oriento lets our Node application talk to the database in the most efficient way possible. | |
Passport | 0.2.1 | Passport is authentication middleware for Node.js. Extremely flexible and modular, Passport can be unobtrusively dropped in to any Express-based web application. A comprehensive set of strategies support authentication using a username and password, Facebook, Twitter, and more. | Passport provides authentication and session management for users with AskNature accounts as well as Google, Twitter, Facebook, and LinkedIn. |
passport-facebook | |||
passport-google-oauth | |||
passport-linkedin-oauth2 | |||
passport-local | |||
react | |||
react-avatar | |||
react-fontawesome | |||
react-form-data | |||
react-infinite-extended | |||
react-intl | |||
react-tap-event-plugin | |||
react-widgets | |||
scribe-editor | |||
serve-favicon | |||
superagent | |||
Bower Components | |||
consolelog | |||
html5shiv | |||
modernizr | |||
normalize.css | |||
es5-shim | |||
bootswatch-dist | |||
pace | |||
animate.css | |||
components-font-awesome | |||
Dev Dependencies | |||
bower | |||
browserify | |||
connect-livereload | |||
deamdify | |||
Grunt | |||
imagemin | |||
include-all | |||
jshint | |||
Karma | |||
karma-chai | |||
karma-mocha | |||
karma-phantomjs-launcher | |||
kss | |||
minifyify | |||
react-bootstrap | |||
rimraf | |||
time-grunt | |||
underscore.string | |||
External Services | |||
Jenkins | |||
Salesforce |