brewGet is a web application that supports the non-monetary exchange of regionally-limited or otherwise difficult to acquire beer. Built with Node.js, Koa, and AngularJS.
##Roadmap to Alpha Tasks/Issues
##Installing and Running Locally
Instructions and requirements for installing this web application.
###Dependencies
Node.js
GraphicsMagick
MongoDB
######Dev Dependencies
######Dependency Notes
brewGet is built with Koa, which requires Node 0.11.9 or greater, and that Node be run with the --harmony
flag. Alternatively, the current stable branch (Node 0.10.x) can be used in conjunction with gnode. See Koa documentation for additional notes.
###Getting Started
While in the project root directory:
bundle install
npm install
node --harmony server
If you would like to use npm start
as it is specified in package.json
, install Nodemon:
npm install nodemon -g
##Appendix
###Citations
######General
This project has been influenced (in direct code and/or philosophy) by the following:
Angular Seed
Copyright (c) 2010-2012 Google, Inc. < http://angularjs.org >
The MIT License (MIT)
Nodejs Express Mongoose Demo
Copyright (c) 2012 Madhusudhan Srinivasa < madhums8@gmail.com >
The MIT License (MIT)
######Libraries
- AngularJS
- Bluebird
- Bower / Gulp-Bower
- Browserify / Gulp-Browserify
- Busboy / Co-Busboy
- Caja / Sanitizer
- Co-Body
- Co-Fs
- Compass / Gulp-Compass
- CSSO / Gulp-CSSO
- Font Awesome
- GraphicsMagick / Gm
- Gravatar
- Gulp
- Gulp-If
- Gulp-Plumber
- Gulp-Rename
- HTML5 Boilerplate
- Koa
- Koa-Compress
- Koa-Logger
- Koa-Router
- Koa-Session-Mongoose
- Koa-Session-Store
- Koa-Static-Cache
- Mime
- Mocha
- Mongoose
- Nodemon
- Node-Validator
- Normalize.css
- Should
- SockJS
- Supertest
- Sass
- Susy
- UglifyJS / Gulp-Uglify
- Uid2
- Underscore
###Structure
brewGet
|
|--client (AngularJS app)
| |--app
| | |--controllers
| | | +--[AngularJS controllers]
| | |
| | |--directives
| | | +--[AngularJS directives]
| | |
| | |--filters
| | | +--[AngularJS filters]
| | |
| | |--services
| | | +--[AngularJS services]
| | |
| | +--views
| | +--[AngularJS views]
| |
| |--assets
| | |--css
| | | +--[stylesheets]
| | |
| | |--fonts
| | | +--[web fonts]
| | |
| | |--js
| | | |--app.js (Browserified app file)
| | | +--app.min.js (Browserified and Uglified app file)
| | |
| | |--img
| | | +--[images]
| | |
| | |--lib
| | | +--[Bower installed libraries]
| | |
| | +--scss
| | +--[Sass files]
| |
| |--config
| | |--app.js (AngularJS app configuration file)
| | +--routes.js (AngularJS routes)
| |
| |--index.html (AngularJS html template)
| +--favicon.ico (app favicon)
|
|--node_mondules
| +--[npm installed libraries]
|
|--server
| |--app (Koa app)
| | |--controllers
| | | +--[Koa controllers]
| | |
| | |--middleware
| | | +--[Koa middleware]
| | |
| | +--models
| | +--[Koa models]
| |
| |--assets
| | |--lib
| | | +--[backend utilities]
| | |
| | +--tmp
| | +--[temporary files]
| |
| |--config
| | |--app.js (Koa app configuration)
| | |--config.default.js (template for contextual parameter values)
| | |--config.js (contextual parameter values)
| | |--messages.js (global messages file)
| | |--mongo.js (MongoDB configuration)
| | |--passport.js (Passport configuration)
| | |--routes.js (Koa routes)
| | +--socket.js (socket events and emitters)
| |
| |--test
| | +--[testing files]
| |
| +--index.js (bootstrap for Koa app)
|
|--.bowerrc
|--.gitignore
|--.travis.yml
|--bower.json
|--config.rb
|--Gemfile
|--Gemfile.lock
|--gulpfile.js
|--LICENSE
|--package.json
+--README.md
The MIT License (MIT)
Copyright (c) 2013-2014 Michael J. Bondra < mjbondra@gmail.com >
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.