Avatar of Andrew Faulkner
Shared insights
on
BowerBower

Bower was used for a small amount of package management. npm was used everywhere but a few edge cases that only worked with Bower. Bower

READ MORE
1 upvote·4.6K views
Shared insights
on
JavaScriptJavaScript

Almost the entire app was written in Javascript, with JSON-based configuration and data storage. The following components were written and/or configured with Javascript:

  • Most server-side scripts, all unit tests, all build tools, etc. were driven by NodeJS.
  • ExpressJS served as the 'backend' server framework.
  • MongoDB (which stores essential JSON) was the main database.
  • MongooseJS was used as the main ORM for communicating with the database, with KnexJS used for certain edge cases.
  • MochaJS, ChaiJS, and ExpectJS were used for unit testing.
  • Frontend builds were done with Gulp and Webpack.
  • Package management was done primarily with npm - with a few exceptions that required the use of Bower (also configured with JSON).
  • "Templating" was done with Javascript dialect JSX.
  • The frontend was build primarily with ReactJS (as the View) and Redux (as the Controller / Store / frontend model).
  • Configuration was done with json files.

The only notable exceptions were the use of SCSS (augmented by Compass) for styling, Bash for a few basic 'system chores' and CLI utilities required for development of the app (most notably git and heroku's CLI interface), and a bit of custom SQL for locations where the ORM extractions leaked (the app is DB-agnostic, but a bit of SQL was required to fill gaps in the ORMs when interfacing with Postgres). JavaScript

READ MORE
1 upvote·1.4K views
Shared insights
on
jQueryjQuery

Frontend utility library. Use was fairly minimal: lodash, ReactJS, and 'native' ES6 functions now fill the gap jQuery used cover. Will likely be removed in an upcoming iteration. jQuery

READ MORE
1 upvote·269 views
Shared insights
on
Node.jsNode.js

NodeJS drove the app's backend server (ExpressJS), frontend build tools (Gulp and Webpack), linters (ESLint), and most of the database scripts (through Knex and Mongoose) Node.js

READ MORE
1 upvote·198 views
Shared insights
on
ReactReact

The vast majority of the app's frontend was built in ReactJS with Redux.js as its flux implementation. React

READ MORE
1 upvote·194 views
Shared insights
on
ReduxRedux

The application's "Flux" implementation. Used as the frontend data store for ReactJS. Redux.js

READ MORE
1 upvote·64 views
Shared insights
on
BootstrapBootstrap

I wrapped several Bootstrap components with ReactJS (i.e. turned them into ReactJS components), and used them in the app's UI. Also, I used numerous Bootstrap CSS classes in building the app's custom components, along with several Bootstrap plugins. Bootstrap

READ MORE
1 upvote·52 views
Shared insights
on
BabelBabel

Transpiling ES6 and ES7 to ES5, to provide access to newer Javascript features without sacrificing browser compatibility. Babel

READ MORE
1 upvote·39 views