Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions chirp/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var session = require('express-session');
var passport = require('passport');
var wagner = require('wagner-core')
//initialize mongoose schemas
require('./models/models');
var models = require('./models/models')(wagner);
var index = require('./routes/index');
var api = require('./routes/api');
var api = require('./routes/api')(wagner);
var authenticate = require('./routes/authenticate')(passport);
var mongoose = require('mongoose'); //add for Mongo support
mongoose.connect('mongodb://localhost/test-chirp'); //connect to Mongo
//connect to Mongo
var app = express();

// view engine setup
Expand All @@ -23,7 +23,9 @@ app.set('view engine', 'ejs');
//app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(session({
secret: 'keyboard cat'
secret: 'keyboard cat',
resave: true,
saveUninitialized: true
}));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
Expand All @@ -32,6 +34,8 @@ app.use(express.static(path.join(__dirname, 'public')));
app.use(passport.initialize());
app.use(passport.session());



app.use('/', index);
app.use('/auth', authenticate);
app.use('/api', api);
Expand Down
25 changes: 25 additions & 0 deletions chirp/gulpfile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
var gulp = require('gulp');
var browserify = require('gulp-browserify');
var uglify = require('gulp-uglify');


gulp.task('browserify', function() {
return gulp.src('./public/javascripts/app.js')
.pipe(browserify())
.pipe(gulp.dest('./public/javascripts/bin'))
});

gulp.task('compress', function() {
return gulp.src('./public/javascripts/bin/app.js')
.pipe(uglify({
mangle: false
}))
.pipe(gulp.dest('./public/javascripts/uglified'))
})

gulp.task('watch', function() {
gulp.watch(['./public/javascripts/*.js'], ['browserify']);
gulp.watch(['./public/javascripts/bin/app.js'], ['compress'])
});

gulp.task('default', ['browserify', 'watch', 'compress'])
31 changes: 18 additions & 13 deletions chirp/models/models.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var _ = require('underscore');

var postSchema = new mongoose.Schema({
created_by: String, //should be changed to ObjectId, ref "User"
created_at: {type: Date, default: Date.now},
text: String
});
module.exports = function(wagner) {
mongoose.connect('mongodb://localhost:27017/test');

var userSchema = new mongoose.Schema({
username: String,
password: String, //hash created from password
created_at: {type: Date, default: Date.now}
})
var User = mongoose.model('User', require('./userSchema'), 'users');

var Post = mongoose.model('Post', require('./postSchema'), 'posts');

mongoose.model('Post', postSchema);
mongoose.model('User', userSchema);
var model = {
User: User,
Post: Post
}

_.each(model, function(value, key) {
wagner.factory(key, function() {
return value;
});
});

return model;
}
15 changes: 15 additions & 0 deletions chirp/models/postSchema.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
var mongoose = require('mongoose');

var postSchema = {
created_by: { type: String, required: true },
created_at: { type: Date, default: Date.now },
text: String
};

var schema = new mongoose.Schema(postSchema);

schema.set('toObject', { virtuals: true });
schema.set('toJSON', { virtuals: true });

module.exports = schema;
module.exports.postSchema = postSchema;
15 changes: 15 additions & 0 deletions chirp/models/userSchema.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
var mongoose = require('mongoose');

var userSchema = {
username: { type: String, required: true },
password: { type: String, required: true },
created_at: { type: Date, default: Date.now }
};

var schema = new mongoose.Schema(userSchema);

schema.set('toObject', { virtuals: true });
schema.set('toJSON', { virtuals: true });

module.exports = schema;
module.exports.userSchema = userSchema;
17 changes: 14 additions & 3 deletions chirp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,31 @@
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
"start": "node ./bin/www",
"gulp": "gulp"
},
"dependencies": {
"bcrypt-nodejs": "0.0.3",
"body-parser": "~1.8.1",
"bson": "^0.4.20",
"cookie-parser": "~1.3.3",
"debug": "^2.0.0",
"ejs": "~0.8.5",
"express": "~4.9.0",
"express-session": "^1.10.3",
"mongoose": "^3.8.23",
"http-status": "^0.2.0",
"mongoose": "^4.3.4",
"morgan": "~1.3.0",
"passport": "^0.2.1",
"passport-local": "^1.0.0",
"serve-favicon": "~2.1.3"
"serve-favicon": "~2.1.3",
"underscore": "^1.8.3",
"wagner-core": "^0.2.0"
},
"devDependencies": {
"browserify": "^12.0.1",
"gulp": "^3.9.0",
"gulp-browserify": "^0.5.1",
"gulp-uglify": "^1.5.1"
}
}
53 changes: 53 additions & 0 deletions chirp/public/javascripts/app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
var controllers = require('./controllers');
var directives = require('./directives');
var services = require('./services');
var _ = require('underscore');

var components = angular.module('chirp-component', []);

_.each(controllers, function(controller, name) {
components.controller(name, controller);
})

_.each(directives, function(directive, name) {
components.directive(name, directive);
});

_.each(services, function(factory, name) {
components.factory(name, factory)
})

var app = angular.module('chirpApp', ['chirp-component','ngRoute'])
.run(function($rootScope, $http) {
$rootScope.authenticated = false;
$rootScope.current_user = '';

$rootScope.signout = function(){
$http.get('/auth/signout');
$rootScope.authenticated = false;
$rootScope.current_user = '';
};
});

app.config(function($routeProvider){
$routeProvider
//the timeline display
.when('/', {
templateUrl: 'templates/main.html',
controller: 'mainController'
})
//the login display
.when('/login', {
templateUrl: 'templates/login.html',
controller: 'authController'
})
//the signup display
.when('/register', {
templateUrl: 'templates/register.html',
controller: 'authController'
});
});




File renamed without changes.
Loading