From d4b651a5c89ed58ce2ec7eb696a1511743b9b457 Mon Sep 17 00:00:00 2001 From: Sahat Yalkabov Date: Wed, 13 Nov 2013 12:32:22 -0500 Subject: [PATCH] Imported MEAN stack files --- Procfile | 1 + README.md | 159 +++++++++++++++- app/controllers/articles.js | 90 +++++++++ app/controllers/index.js | 12 ++ app/controllers/users.js | 103 +++++++++++ app/models/article.js | 51 ++++++ app/models/user.js | 124 +++++++++++++ app/views/404.jade | 13 ++ app/views/500.jade | 12 ++ app/views/includes/foot.jade | 29 +++ app/views/includes/head.jade | 29 +++ app/views/index.jade | 6 + app/views/layouts/default.jade | 9 + app/views/users/auth.jade | 22 +++ app/views/users/signin.jade | 20 ++ app/views/users/signup.jade | 29 +++ bower.json | 12 ++ config/env/all.js | 8 + config/env/development.json | 26 +++ config/env/production.json | 26 +++ config/env/test.json | 27 +++ config/env/travis.json | 27 +++ config/express.js | 93 ++++++++++ config/middlewares/authorization.js | 33 ++++ config/passport.js | 172 ++++++++++++++++++ config/routes.js | 78 ++++++++ gruntfile.js | 87 +++++++++ package.json | 51 ++++++ public/css/common.css | 25 +++ public/css/views/articles.css | 7 + public/humans.txt | 15 ++ public/img/.gitignore | 0 .../apple-touch-icon-114x114-precomposed.png | Bin 0 -> 13581 bytes .../apple-touch-icon-144x144-precomposed.png | Bin 0 -> 13580 bytes .../apple-touch-icon-57x57-precomposed.png | Bin 0 -> 13599 bytes .../apple-touch-icon-72x72-precomposed.png | Bin 0 -> 13547 bytes .../apple/apple-touch-icon-precomposed.png | Bin 0 -> 13558 bytes public/img/apple/apple-touch-icon.png | Bin 0 -> 13606 bytes public/img/apple/splash.png | Bin 0 -> 32559 bytes public/img/apple/splash2x.png | Bin 0 -> 73469 bytes public/img/icons/facebook.png | Bin 0 -> 8825 bytes public/img/icons/favicon.ico | Bin 0 -> 2462 bytes public/img/icons/github.png | Bin 0 -> 10410 bytes public/img/icons/google.png | Bin 0 -> 7968 bytes public/img/icons/twitter.png | Bin 0 -> 8340 bytes public/img/loaders/loader.gif | Bin 0 -> 9315 bytes .../sprites/glyphicons-halflings-white.png | Bin 0 -> 8777 bytes public/img/sprites/glyphicons-halflings.png | Bin 0 -> 12799 bytes public/js/app.js | 4 + public/js/config.js | 31 ++++ public/js/controllers/articles.js | 52 ++++++ public/js/controllers/header.js | 13 ++ public/js/controllers/index.js | 3 + public/js/directives.js | 0 public/js/filters.js | 0 public/js/init.js | 15 ++ public/js/services/articles.js | 10 + public/js/services/global.js | 9 + public/robots.txt | 3 + public/views/articles/create.html | 21 +++ public/views/articles/edit.html | 25 +++ public/views/articles/list.html | 11 ++ public/views/articles/view.html | 6 + public/views/header.html | 28 +++ public/views/index.html | 3 + server.js | 61 +++++++ test/article/model.js | 65 +++++++ test/user/model.js | 66 +++++++ 68 files changed, 1819 insertions(+), 3 deletions(-) create mode 100755 Procfile mode change 100644 => 100755 README.md create mode 100755 app/controllers/articles.js create mode 100755 app/controllers/index.js create mode 100755 app/controllers/users.js create mode 100755 app/models/article.js create mode 100755 app/models/user.js create mode 100755 app/views/404.jade create mode 100755 app/views/500.jade create mode 100755 app/views/includes/foot.jade create mode 100755 app/views/includes/head.jade create mode 100755 app/views/index.jade create mode 100755 app/views/layouts/default.jade create mode 100755 app/views/users/auth.jade create mode 100755 app/views/users/signin.jade create mode 100755 app/views/users/signup.jade create mode 100755 bower.json create mode 100755 config/env/all.js create mode 100755 config/env/development.json create mode 100755 config/env/production.json create mode 100755 config/env/test.json create mode 100755 config/env/travis.json create mode 100755 config/express.js create mode 100755 config/middlewares/authorization.js create mode 100755 config/passport.js create mode 100755 config/routes.js create mode 100755 gruntfile.js create mode 100755 package.json create mode 100755 public/css/common.css create mode 100755 public/css/views/articles.css create mode 100755 public/humans.txt create mode 100755 public/img/.gitignore create mode 100755 public/img/apple/apple-touch-icon-114x114-precomposed.png create mode 100755 public/img/apple/apple-touch-icon-144x144-precomposed.png create mode 100755 public/img/apple/apple-touch-icon-57x57-precomposed.png create mode 100755 public/img/apple/apple-touch-icon-72x72-precomposed.png create mode 100755 public/img/apple/apple-touch-icon-precomposed.png create mode 100755 public/img/apple/apple-touch-icon.png create mode 100755 public/img/apple/splash.png create mode 100755 public/img/apple/splash2x.png create mode 100755 public/img/icons/facebook.png create mode 100755 public/img/icons/favicon.ico create mode 100755 public/img/icons/github.png create mode 100755 public/img/icons/google.png create mode 100755 public/img/icons/twitter.png create mode 100755 public/img/loaders/loader.gif create mode 100755 public/img/sprites/glyphicons-halflings-white.png create mode 100755 public/img/sprites/glyphicons-halflings.png create mode 100755 public/js/app.js create mode 100755 public/js/config.js create mode 100755 public/js/controllers/articles.js create mode 100755 public/js/controllers/header.js create mode 100755 public/js/controllers/index.js create mode 100755 public/js/directives.js create mode 100755 public/js/filters.js create mode 100755 public/js/init.js create mode 100755 public/js/services/articles.js create mode 100755 public/js/services/global.js create mode 100755 public/robots.txt create mode 100755 public/views/articles/create.html create mode 100755 public/views/articles/edit.html create mode 100755 public/views/articles/list.html create mode 100755 public/views/articles/view.html create mode 100755 public/views/header.html create mode 100755 public/views/index.html create mode 100755 server.js create mode 100755 test/article/model.js create mode 100755 test/user/model.js diff --git a/Procfile b/Procfile new file mode 100755 index 0000000000..3360097a4d --- /dev/null +++ b/Procfile @@ -0,0 +1 @@ +web: ./node_modules/.bin/forever -m 5 server.js diff --git a/README.md b/README.md old mode 100644 new mode 100755 index 0f4d5767f0..4355728d63 --- a/README.md +++ b/README.md @@ -1,4 +1,157 @@ -angular-quickstart -================== +# MEAN Stack -hybdrid between mean stack and angular seed and BBB +MEAN is a boilerplate that provides a nice starting point for [MongoDB](http://www.mongodb.org/), [Node.js](http://www.nodejs.org/), [Express](http://expressjs.com/), and [AngularJS](http://angularjs.org/) based applications. It is designed to give you quick and organized way to start developing of MEAN based web apps with useful modules like mongoose and passport pre-bundled and configured. We mainly try to take care of the connection points between existing popular frameworks and solve common integration problems. + +## Prerequisites +* Node.js - Download and Install [Node.js](http://www.nodejs.org/download/). You can also follow [this gist](https://gist.github.com/isaacs/579814) for a quick and easy way to install Node.js and npm +* MongoDB - Download and Install [MongoDB](http://www.mongodb.org/downloads) - Make sure it's running on the default port (27017). + +### Tools Prerequisites +* NPM - Node.js package manager, should be installed when you install node.js. +* Bower - Web package manager, installing [Bower](http://bower.io/) is simple when you have npm: + +``` +$ npm install -g bower +``` + +### Optional +* Grunt - Download and Install [Grunt](http://gruntjs.com). + +## Additional Packages +* Express - Defined as npm module in the [package.json](package.json) file. +* Mongoose - Defined as npm module in the [package.json](package.json) file. +* Passport - Defined as npm module in the [package.json](package.json) file. +* AngularJS - Defined as bower module in the [bower.json](bower.json) file. +* Twitter Bootstrap - Defined as bower module in the [bower.json](bower.json) file. +* UI Bootstrap - Defined as bower module in the [bower.json](bower.json) file. + +## Quick Install + The quickest way to get started with MEAN is to clone the project and utilize it like this: + + Install dependencies: + + $ npm install + + We recommend using [Grunt](https://github.com/gruntjs/grunt-cli) to start the server: + + $ grunt + + When not using grunt you can use: + + $ node server + + Then open a browser and go to: + + http://localhost:3000 + + +## Troubleshooting +During install some of you may encounter some issues, most of this issues can be solved by one of the following tips. +If you went through all this and still can't solve the issue, feel free to contact me(Amos), via the repository issue tracker or the links provided below. + +#### Update NPM, Bower or Grunt +Sometimes you may find there is a weird error during install like npm's *Error: ENOENT*, usually updating those tools to the latest version solves the issue. + +Updating NPM: +``` +$ npm update -g npm +``` + +Updating Grunt: +``` +$ npm update -g grunt-cli +``` + +Updating Bower: +``` +$ npm update -g bower +``` + +#### Cleaning NPM and Bower cache +NPM and Bower has a caching system for holding packages that you already installed. +We found that often cleaning the cache solves some troubles this system creates. + +NPM Clean Cache: +``` +$ npm cache clean +``` + +Bower Clean Cache: +``` +$ bower cache clean +``` + + +## Configuration +All configuration is specified in the [config](config/) folder, particularly the [config.js](config/config.js) file and the [env](config/env/) files. Here you will need to specify your application name, database name, as well as hook up any social app keys if you want integration with Twitter, Facebook, GitHub or Google. + +### Environmental Settings + +There are three environments provided by default, __development__, __test__, and __production__. Each of these environments has the following configuration options: +* __db__ - This is the name of the MongoDB database to use, and is set by default to __mean-dev__ for the development environment. +* __app.name__ - This is the name of your app or website, and can be different for each environment. You can tell which environment you are running by looking at the TITLE attribute that your app generates. +* __Social OAuth Keys__ - Facebook, GitHub, Google, Twitter. You can specify your own social application keys here for each platform: + * __clientID__ + * __clientSecret__ + * __callbackURL__ + +To run with a different environment, just specify NODE_ENV as you call grunt: + + $ NODE_ENV=test grunt + +If you are using node instead of grunt, it is very similar: + + $ NODE_ENV=test node server + +> NOTE: Running Node.js applications in the __production__ environment enables caching, which is disabled by default in all other environments. + +## Getting Started + We pre-included an article example, check it out: + * [The Model](https://github.com/linnovate/mean/blob/master/app/models/article.js) - Where we define our object schema. + * [The Controller](https://github.com/linnovate/mean/blob/master/app/controllers/articles.js) - Where we take care of our backend logic. + * [NodeJS Routes](https://github.com/linnovate/mean/blob/master/config/routes.js) - Where we define our REST service routes. + * [AngularJs Routes](https://github.com/linnovate/mean/blob/master/public/js/config.js) - Where we define our CRUD routes. + * [The AngularJs Service](https://github.com/linnovate/mean/blob/master/public/js/services/articles.js) - Where we connect to our REST service. + * [The AngularJs Controller](https://github.com/linnovate/mean/blob/master/public/js/controllers/articles.js) - Where we take care of our frontend logic. + * [The AngularJs Views Folder](https://github.com/linnovate/mean/blob/master/public/views/articles) - Where we keep our CRUD views. + +## Heroku Quick Deployment +Before you start make sure you have heroku toolbelt installed and an accessible mongo db instance - you can try mongohq which have an easy setup ) + +```bash +git init +git add . +git commit -m "initial version" +heroku apps:create +git push heroku master +``` + +## More Information + * Contact Amos Haviv on any issue via [E-Mail](mailto:mail@amoshaviv.com), [Facebook](http://www.facebook.com/amoshaviv), or [Twitter](http://www.twitter.com/amoshaviv). + * Visit us at [Linnovate.net](http://www.linnovate.net/). + * Visit our [Ninja's Zone](http://www.meanleanstartupmachine.com/) for extended support. + +## Credits +Inspired by the great work of [Madhusudhan Srinivasa](https://github.com/madhums/) + +## License +(The MIT License) + +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. diff --git a/app/controllers/articles.js b/app/controllers/articles.js new file mode 100755 index 0000000000..0125fbfafa --- /dev/null +++ b/app/controllers/articles.js @@ -0,0 +1,90 @@ +/** + * Module dependencies. + */ +var mongoose = require('mongoose'), + Article = mongoose.model('Article'), + _ = require('underscore'); + + +/** + * Find article by id + */ +exports.article = function(req, res, next, id) { + Article.load(id, function(err, article) { + if (err) return next(err); + if (!article) return next(new Error('Failed to load article ' + id)); + req.article = article; + next(); + }); +}; + +/** + * Create a article + */ +exports.create = function(req, res) { + var article = new Article(req.body); + article.user = req.user; + + article.save(function(err) { + if (err) { + return res.send('users/signup', { + errors: err.errors, + article: article + }); + } else { + res.jsonp(article); + } + }); +}; + +/** + * Update a article + */ +exports.update = function(req, res) { + var article = req.article; + + article = _.extend(article, req.body); + + article.save(function(err) { + res.jsonp(article); + }); +}; + +/** + * Delete an article + */ +exports.destroy = function(req, res) { + var article = req.article; + + article.remove(function(err) { + if (err) { + res.render('error', { + status: 500 + }); + } else { + res.jsonp(article); + } + }); +}; + +/** + * Show an article + */ +exports.show = function(req, res) { + res.jsonp(req.article); +}; + +/** + * List of Articles + */ +exports.all = function(req, res) { + Article.find().sort('-created').populate('user', 'name username').exec(function(err, articles) { + if (err) { + res.render('error', { + status: 500 + }); + } else { + res.jsonp(articles); + } + }); +}; diff --git a/app/controllers/index.js b/app/controllers/index.js new file mode 100755 index 0000000000..c775a01667 --- /dev/null +++ b/app/controllers/index.js @@ -0,0 +1,12 @@ +/** + * Module dependencies. + */ +var mongoose = require('mongoose'), + _ = require('underscore'); + + +exports.render = function(req, res) { + res.render('index', { + user: req.user ? JSON.stringify(req.user) : "null" + }); +}; diff --git a/app/controllers/users.js b/app/controllers/users.js new file mode 100755 index 0000000000..30528152ff --- /dev/null +++ b/app/controllers/users.js @@ -0,0 +1,103 @@ +/** + * Module dependencies. + */ +var mongoose = require('mongoose'), + User = mongoose.model('User'); + +/** + * Auth callback + */ +exports.authCallback = function(req, res, next) { + res.redirect('/'); +}; + +/** + * Show login form + */ +exports.signin = function(req, res) { + res.render('users/signin', { + title: 'Signin', + message: req.flash('error') + }); +}; + +/** + * Show sign up form + */ +exports.signup = function(req, res) { + res.render('users/signup', { + title: 'Sign up', + user: new User() + }); +}; + +/** + * Logout + */ +exports.signout = function(req, res) { + req.logout(); + res.redirect('/'); +}; + +/** + * Session + */ +exports.session = function(req, res) { + res.redirect('/'); +}; + +/** + * Create user + */ +exports.create = function(req, res) { + var user = new User(req.body); + + user.provider = 'local'; + user.save(function(err) { + if (err) { + return res.render('users/signup', { + errors: err.errors, + user: user + }); + } + req.logIn(user, function(err) { + if (err) return next(err); + return res.redirect('/'); + }); + }); +}; + +/** + * Show profile + */ +exports.show = function(req, res) { + var user = req.profile; + + res.render('users/show', { + title: user.name, + user: user + }); +}; + +/** + * Send User + */ +exports.me = function(req, res) { + res.jsonp(req.user || null); +}; + +/** + * Find user by id + */ +exports.user = function(req, res, next, id) { + User + .findOne({ + _id: id + }) + .exec(function(err, user) { + if (err) return next(err); + if (!user) return next(new Error('Failed to load User ' + id)); + req.profile = user; + next(); + }); +}; \ No newline at end of file diff --git a/app/models/article.js b/app/models/article.js new file mode 100755 index 0000000000..ff1e186808 --- /dev/null +++ b/app/models/article.js @@ -0,0 +1,51 @@ +/** + * Module dependencies. + */ +var mongoose = require('mongoose'), + config = require('../../config/config'), + Schema = mongoose.Schema; + + +/** + * Article Schema + */ +var ArticleSchema = new Schema({ + created: { + type: Date, + default: Date.now + }, + title: { + type: String, + default: '', + trim: true + }, + content: { + type: String, + default: '', + trim: true + }, + user: { + type: Schema.ObjectId, + ref: 'User' + } +}); + +/** + * Validations + */ +ArticleSchema.path('title').validate(function(title) { + return title.length; +}, 'Title cannot be blank'); + +/** + * Statics + */ +ArticleSchema.statics = { + load: function(id, cb) { + this.findOne({ + _id: id + }).populate('user', 'name username').exec(cb); + } +}; + +mongoose.model('Article', ArticleSchema); \ No newline at end of file diff --git a/app/models/user.js b/app/models/user.js new file mode 100755 index 0000000000..8c960a1207 --- /dev/null +++ b/app/models/user.js @@ -0,0 +1,124 @@ +/** + * Module dependencies. + */ +var mongoose = require('mongoose'), + Schema = mongoose.Schema, + crypto = require('crypto'), + _ = require('underscore'), + authTypes = ['github', 'twitter', 'facebook', 'google']; + + +/** + * User Schema + */ +var UserSchema = new Schema({ + name: String, + email: String, + username: { + type: String, + unique: true + }, + provider: String, + hashed_password: String, + salt: String, + facebook: {}, + twitter: {}, + github: {}, + google: {} +}); + +/** + * Virtuals + */ +UserSchema.virtual('password').set(function(password) { + this._password = password; + this.salt = this.makeSalt(); + this.hashed_password = this.encryptPassword(password); +}).get(function() { + return this._password; +}); + +/** + * Validations + */ +var validatePresenceOf = function(value) { + return value && value.length; +}; + +// the below 4 validations only apply if you are signing up traditionally +UserSchema.path('name').validate(function(name) { + // if you are authenticating by any of the oauth strategies, don't validate + if (authTypes.indexOf(this.provider) !== -1) return true; + return name.length; +}, 'Name cannot be blank'); + +UserSchema.path('email').validate(function(email) { + // if you are authenticating by any of the oauth strategies, don't validate + if (authTypes.indexOf(this.provider) !== -1) return true; + return email.length; +}, 'Email cannot be blank'); + +UserSchema.path('username').validate(function(username) { + // if you are authenticating by any of the oauth strategies, don't validate + if (authTypes.indexOf(this.provider) !== -1) return true; + return username.length; +}, 'Username cannot be blank'); + +UserSchema.path('hashed_password').validate(function(hashed_password) { + // if you are authenticating by any of the oauth strategies, don't validate + if (authTypes.indexOf(this.provider) !== -1) return true; + return hashed_password.length; +}, 'Password cannot be blank'); + + +/** + * Pre-save hook + */ +UserSchema.pre('save', function(next) { + if (!this.isNew) return next(); + + if (!validatePresenceOf(this.password) && authTypes.indexOf(this.provider) === -1) + next(new Error('Invalid password')); + else + next(); +}); + +/** + * Methods + */ +UserSchema.methods = { + /** + * Authenticate - check if the passwords are the same + * + * @param {String} plainText + * @return {Boolean} + * @api public + */ + authenticate: function(plainText) { + return this.encryptPassword(plainText) === this.hashed_password; + }, + + /** + * Make salt + * + * @return {String} + * @api public + */ + makeSalt: function() { + return Math.round((new Date().valueOf() * Math.random())) + ''; + }, + + /** + * Encrypt password + * + * @param {String} password + * @return {String} + * @api public + */ + encryptPassword: function(password) { + if (!password) return ''; + return crypto.createHmac('sha1', this.salt).update(password).digest('hex'); + } +}; + +mongoose.model('User', UserSchema); \ No newline at end of file diff --git a/app/views/404.jade b/app/views/404.jade new file mode 100755 index 0000000000..2f0d9e8663 --- /dev/null +++ b/app/views/404.jade @@ -0,0 +1,13 @@ +extends layouts/default + +block main + h1 Oops something went wrong + br + span 404 + +block content + #error-message-box + #error-stack-trace + pre + code!= error + diff --git a/app/views/500.jade b/app/views/500.jade new file mode 100755 index 0000000000..491b00084e --- /dev/null +++ b/app/views/500.jade @@ -0,0 +1,12 @@ +extends layouts/default + +block main + h1 Oops something went wrong + br + span 500 + +block content + #error-message-box + #error-stack-trace + pre + code!= error diff --git a/app/views/includes/foot.jade b/app/views/includes/foot.jade new file mode 100755 index 0000000000..09b1b54d0b --- /dev/null +++ b/app/views/includes/foot.jade @@ -0,0 +1,29 @@ +//AngularJS +script(type='text/javascript', src='/lib/angular/angular.js') +script(type='text/javascript', src='/lib/angular-cookies/angular-cookies.js') +script(type='text/javascript', src='/lib/angular-resource/angular-resource.js') + +//Angular UI +script(type='text/javascript', src='/lib/angular-bootstrap/ui-bootstrap-tpls.js') +script(type='text/javascript', src='/lib/angular-bootstrap/ui-bootstrap.js') +script(type='text/javascript', src='/lib/angular-ui-utils/modules/route/route.js') + +//Application Init +script(type='text/javascript', src='/js/app.js') +script(type='text/javascript', src='/js/config.js') +script(type='text/javascript', src='/js/directives.js') +script(type='text/javascript', src='/js/filters.js') + +//Application Services +script(type='text/javascript', src='/js/services/global.js') +script(type='text/javascript', src='/js/services/articles.js') + +//Application Controllers +script(type='text/javascript', src='/js/controllers/articles.js') +script(type='text/javascript', src='/js/controllers/index.js') +script(type='text/javascript', src='/js/controllers/header.js') +script(type='text/javascript', src='/js/init.js') + +if (req.host='localhost') + //Livereload script rendered + script(type='text/javascript', src='http://localhost:35729/livereload.js') diff --git a/app/views/includes/head.jade b/app/views/includes/head.jade new file mode 100755 index 0000000000..8daa225acf --- /dev/null +++ b/app/views/includes/head.jade @@ -0,0 +1,29 @@ +head + meta(charset='utf-8') + meta(http-equiv='X-UA-Compatible', content='IE=edge,chrome=1') + meta(name='viewport', content='width=device-width,initial-scale=1') + + title= appName+' - '+title + meta(http-equiv='Content-type', content='text/html;charset=UTF-8') + meta(name="keywords", content="node.js, express, mongoose, mongodb, angularjs") + meta(name="description", content="MEAN - A Modern Stack: MongoDB, ExpressJS, AngularJS, NodeJS. (BONUS: Passport User Support).") + + link(href='/img/icons/favicon.ico', rel='shortcut icon', type='image/x-icon') + + meta(property='fb:app_id', content='APP_ID') + meta(property='og:title', content='#{appName} - #{title}') + meta(property='og:description', content='MEAN - A Modern Stack: MongoDB, ExpressJS, AngularJS, NodeJS. (BONUS: Passport User Support).') + meta(property='og:type', content='website') + meta(property='og:url', content='APP_URL') + meta(property='og:image', content='APP_LOGO') + meta(property='og:site_name', content='MEAN - A Modern Stack') + meta(property='fb:admins', content='APP_ADMIN') + + link(rel='stylesheet', href='/lib/bootstrap/docs/assets/css/bootstrap.css') + //- link(rel='stylesheet', href='/lib/bootstrap/dist/css/bootstrap-responsive.css') + link(rel='stylesheet', href='/css/common.css') + + link(rel='stylesheet', href='/css/views/articles.css') + + //if lt IE 9 + script(src='http://html5shim.googlecode.com/svn/trunk/html5.js') diff --git a/app/views/index.jade b/app/views/index.jade new file mode 100755 index 0000000000..c121898992 --- /dev/null +++ b/app/views/index.jade @@ -0,0 +1,6 @@ +extends layouts/default + +block content + section(data-ng-view) + script(type="text/javascript"). + window.user = !{user}; diff --git a/app/views/layouts/default.jade b/app/views/layouts/default.jade new file mode 100755 index 0000000000..5e242b17a6 --- /dev/null +++ b/app/views/layouts/default.jade @@ -0,0 +1,9 @@ +!!! 5 +html(lang='en', xmlns='http://www.w3.org/1999/xhtml', xmlns:fb='https://www.facebook.com/2008/fbml', itemscope='itemscope', itemtype='http://schema.org/Product') + include ../includes/head + body + .navbar.navbar-inverse.navbar-fixed-top(data-ng-include="'views/header.html'", data-role="navigation") + section.content + section.container + block content + include ../includes/foot diff --git a/app/views/users/auth.jade b/app/views/users/auth.jade new file mode 100755 index 0000000000..de60489987 --- /dev/null +++ b/app/views/users/auth.jade @@ -0,0 +1,22 @@ +extends ../layouts/default + +block content + .row + .offset1.span5 + a(href="/auth/facebook") + img(src="/img/icons/facebook.png") + a(href="/auth/github") + img(src="/img/icons/github.png") + a(href="/auth/twitter") + img(src="/img/icons/twitter.png") + a(href="/auth/google") + img(src="/img/icons/google.png") + .span6 + if (typeof errors !== 'undefined') + .fade.in.alert.alert-block.alert-error + a.close(data-dismiss="alert", href="javascript:void(0)") x + ul + each error in errors + li= error.type + + block auth diff --git a/app/views/users/signin.jade b/app/views/users/signin.jade new file mode 100755 index 0000000000..ef96cb67f4 --- /dev/null +++ b/app/views/users/signin.jade @@ -0,0 +1,20 @@ +extends auth + +block auth + form.signin.form-horizontal(action="/users/session", method="post") + p.error= message + .control-group + label.control-label(for='email') Email + .controls + input#email(type='text', name="email", placeholder='Email') + + .control-group + label.control-label(for='password') Password + .controls + input#password(type='password', name="password", placeholder='Password') + + .form-actions + button.btn.btn-primary(type='submit') Sign in +   + | or  + a.show-signup(href="/signup") Sign up diff --git a/app/views/users/signup.jade b/app/views/users/signup.jade new file mode 100755 index 0000000000..b51229bccc --- /dev/null +++ b/app/views/users/signup.jade @@ -0,0 +1,29 @@ +extends auth + +block auth + form.signup.form-horizontal(action="/users", method="post") + .control-group + label.control-label(for='name') Full name + .controls + input#name(type='text', name="name", placeholder='Full name', value=user.name) + + .control-group + label.control-label(for='email') Email + .controls + input#email(type='text', name="email", placeholder='Email', value=user.email) + + .control-group + label.control-label(for='username') Username + .controls + input#username(type='text', name="username", placeholder='Username', value=user.username) + + .control-group + label.control-label(for='password') Password + .controls + input#password(type='password', name="password", placeholder='Password') + + .form-actions + button.btn.btn-primary(type='submit') Sign up +   + | or  + a.show-login(href="/signin") login diff --git a/bower.json b/bower.json new file mode 100755 index 0000000000..1ee578ef41 --- /dev/null +++ b/bower.json @@ -0,0 +1,12 @@ +{ + "name": "mean", + "version": "0.1.0", + "dependencies": { + "bootstrap": "2.3.2", + "angular": "1.0.6", + "angular-resource": "1.0.6", + "angular-cookies": "1.0.6", + "angular-bootstrap": "0.6.0", + "angular-ui-utils": "0.0.4" + } +} diff --git a/config/env/all.js b/config/env/all.js new file mode 100755 index 0000000000..fd5f16fabd --- /dev/null +++ b/config/env/all.js @@ -0,0 +1,8 @@ +var path = require('path'), +rootPath = path.normalize(__dirname + '/../..'); + +module.exports = { + root: rootPath, + port: process.env.PORT || 3000, + db: process.env.MONGOHQ_URL +} diff --git a/config/env/development.json b/config/env/development.json new file mode 100755 index 0000000000..cc3055f415 --- /dev/null +++ b/config/env/development.json @@ -0,0 +1,26 @@ +{ + "db": "mongodb://localhost/mean-dev", + "app": { + "name": "MEAN - A Modern Stack - Development" + }, + "facebook": { + "clientID": "APP_ID", + "clientSecret": "APP_SECRET", + "callbackURL": "http://localhost:3000/auth/facebook/callback" + }, + "twitter": { + "clientID": "CONSUMER_KEY", + "clientSecret": "CONSUMER_SECRET", + "callbackURL": "http://localhost:3000/auth/twitter/callback" + }, + "github": { + "clientID": "APP_ID", + "clientSecret": "APP_SECRET", + "callbackURL": "http://localhost:3000/auth/github/callback" + }, + "google": { + "clientID": "APP_ID", + "clientSecret": "APP_SECRET", + "callbackURL": "http://localhost:3000/auth/google/callback" + } +} \ No newline at end of file diff --git a/config/env/production.json b/config/env/production.json new file mode 100755 index 0000000000..f12ffb51e0 --- /dev/null +++ b/config/env/production.json @@ -0,0 +1,26 @@ +{ + "db": "mongodb://localhost/mean", + "app": { + "name": "MEAN - A Modern Stack - Production" + }, + "facebook": { + "clientID": "APP_ID", + "clientSecret": "APP_SECRET", + "callbackURL": "http://localhost:3000/auth/facebook/callback" + }, + "twitter": { + "clientID": "CONSUMER_KEY", + "clientSecret": "CONSUMER_SECRET", + "callbackURL": "http://localhost:3000/auth/twitter/callback" + }, + "github": { + "clientID": "APP_ID", + "clientSecret": "APP_SECRET", + "callbackURL": "http://localhost:3000/auth/github/callback" + }, + "google": { + "clientID": "APP_ID", + "clientSecret": "APP_SECRET", + "callbackURL": "http://localhost:3000/auth/google/callback" + } +} \ No newline at end of file diff --git a/config/env/test.json b/config/env/test.json new file mode 100755 index 0000000000..9fa16467ce --- /dev/null +++ b/config/env/test.json @@ -0,0 +1,27 @@ +{ + "db": "mongodb://localhost/mean-test", + "port": 3001, + "app": { + "name": "MEAN - A Modern Stack - Test" + }, + "facebook": { + "clientID": "APP_ID", + "clientSecret": "APP_SECRET", + "callbackURL": "http://localhost:3000/auth/facebook/callback" + }, + "twitter": { + "clientID": "CONSUMER_KEY", + "clientSecret": "CONSUMER_SECRET", + "callbackURL": "http://localhost:3000/auth/twitter/callback" + }, + "github": { + "clientID": "APP_ID", + "clientSecret": "APP_SECRET", + "callbackURL": "http://localhost:3000/auth/github/callback" + }, + "google": { + "clientID": "APP_ID", + "clientSecret": "APP_SECRET", + "callbackURL": "http://localhost:3000/auth/google/callback" + } +} \ No newline at end of file diff --git a/config/env/travis.json b/config/env/travis.json new file mode 100755 index 0000000000..2a2ccc980c --- /dev/null +++ b/config/env/travis.json @@ -0,0 +1,27 @@ +{ + "db": "mongodb://localhost/mean-travis", + "port": 3001, + "app": { + "name": "MEAN - A Modern Stack - Test on travis" + }, + "facebook": { + "clientID": "APP_ID", + "clientSecret": "APP_SECRET", + "callbackURL": "http://localhost:3000/auth/facebook/callback" + }, + "twitter": { + "clientID": "CONSUMER_KEY", + "clientSecret": "CONSUMER_SECRET", + "callbackURL": "http://localhost:3000/auth/twitter/callback" + }, + "github": { + "clientID": "APP_ID", + "clientSecret": "APP_SECRET", + "callbackURL": "http://localhost:3000/auth/github/callback" + }, + "google": { + "clientID": "APP_ID", + "clientSecret": "APP_SECRET", + "callbackURL": "http://localhost:3000/auth/google/callback" + } +} \ No newline at end of file diff --git a/config/express.js b/config/express.js new file mode 100755 index 0000000000..9a81a7e2b9 --- /dev/null +++ b/config/express.js @@ -0,0 +1,93 @@ +/** + * Module dependencies. + */ +var express = require('express'), + mongoStore = require('connect-mongo')(express), + flash = require('connect-flash'), + helpers = require('view-helpers'), + config = require('./config'); + +module.exports = function(app, passport, db) { + app.set('showStackError', true); + + //Prettify HTML + app.locals.pretty = true; + + //Should be placed before express.static + app.use(express.compress({ + filter: function(req, res) { + return (/json|text|javascript|css/).test(res.getHeader('Content-Type')); + }, + level: 9 + })); + + //Setting the fav icon and static folder + app.use(express.favicon()); + app.use(express.static(config.root + '/public')); + + //Don't use logger for test env + if (process.env.NODE_ENV !== 'test') { + app.use(express.logger('dev')); + } + + //Set views path, template engine and default layout + app.set('views', config.root + '/app/views'); + app.set('view engine', 'jade'); + + //Enable jsonp + app.enable("jsonp callback"); + + app.configure(function() { + //cookieParser should be above session + app.use(express.cookieParser()); + + //bodyParser should be above methodOverride + app.use(express.bodyParser()); + app.use(express.methodOverride()); + + //express/mongo session storage + app.use(express.session({ + secret: 'MEAN', + store: new mongoStore({ + db: db.connection.db, + collection: 'sessions' + }) + })); + + //connect flash for flash messages + app.use(flash()); + + //dynamic helpers + app.use(helpers(config.app.name)); + + //use passport session + app.use(passport.initialize()); + app.use(passport.session()); + + //routes should be at the last + app.use(app.router); + + //Assume "not found" in the error msgs is a 404. this is somewhat silly, but valid, you can do whatever you like, set properties, use instanceof etc. + app.use(function(err, req, res, next) { + //Treat as 404 + if (~err.message.indexOf('not found')) return next(); + + //Log it + console.error(err.stack); + + //Error page + res.status(500).render('500', { + error: err.stack + }); + }); + + //Assume 404 since no middleware responded + app.use(function(req, res, next) { + res.status(404).render('404', { + url: req.originalUrl, + error: 'Not found' + }); + }); + + }); +}; diff --git a/config/middlewares/authorization.js b/config/middlewares/authorization.js new file mode 100755 index 0000000000..9732488c0d --- /dev/null +++ b/config/middlewares/authorization.js @@ -0,0 +1,33 @@ +/** + * Generic require login routing middleware + */ +exports.requiresLogin = function(req, res, next) { + if (!req.isAuthenticated()) { + return res.send(401, 'User is not authorized'); + } + next(); +}; + +/** + * User authorizations routing middleware + */ +exports.user = { + hasAuthorization: function(req, res, next) { + if (req.profile.id != req.user.id) { + return res.send(401, 'User is not authorized'); + } + next(); + } +}; + +/** + * Article authorizations routing middleware + */ +exports.article = { + hasAuthorization: function(req, res, next) { + if (req.article.user.id != req.user.id) { + return res.send(401, 'User is not authorized'); + } + next(); + } +}; \ No newline at end of file diff --git a/config/passport.js b/config/passport.js new file mode 100755 index 0000000000..731c5ce2e1 --- /dev/null +++ b/config/passport.js @@ -0,0 +1,172 @@ +var mongoose = require('mongoose'), + LocalStrategy = require('passport-local').Strategy, + TwitterStrategy = require('passport-twitter').Strategy, + FacebookStrategy = require('passport-facebook').Strategy, + GitHubStrategy = require('passport-github').Strategy, + GoogleStrategy = require('passport-google-oauth').OAuth2Strategy, + User = mongoose.model('User'), + config = require('./config'); + + +module.exports = function(passport) { + //Serialize sessions + passport.serializeUser(function(user, done) { + done(null, user.id); + }); + + passport.deserializeUser(function(id, done) { + User.findOne({ + _id: id + }, function(err, user) { + done(err, user); + }); + }); + + //Use local strategy + passport.use(new LocalStrategy({ + usernameField: 'email', + passwordField: 'password' + }, + function(email, password, done) { + User.findOne({ + email: email + }, function(err, user) { + if (err) { + return done(err); + } + if (!user) { + return done(null, false, { + message: 'Unknown user' + }); + } + if (!user.authenticate(password)) { + return done(null, false, { + message: 'Invalid password' + }); + } + return done(null, user); + }); + } + )); + + //Use twitter strategy + passport.use(new TwitterStrategy({ + consumerKey: config.twitter.clientID, + consumerSecret: config.twitter.clientSecret, + callbackURL: config.twitter.callbackURL + }, + function(token, tokenSecret, profile, done) { + User.findOne({ + 'twitter.id_str': profile.id + }, function(err, user) { + if (err) { + return done(err); + } + if (!user) { + user = new User({ + name: profile.displayName, + username: profile.username, + provider: 'twitter', + twitter: profile._json + }); + user.save(function(err) { + if (err) console.log(err); + return done(err, user); + }); + } else { + return done(err, user); + } + }); + } + )); + + //Use facebook strategy + passport.use(new FacebookStrategy({ + clientID: config.facebook.clientID, + clientSecret: config.facebook.clientSecret, + callbackURL: config.facebook.callbackURL + }, + function(accessToken, refreshToken, profile, done) { + User.findOne({ + 'facebook.id': profile.id + }, function(err, user) { + if (err) { + return done(err); + } + if (!user) { + user = new User({ + name: profile.displayName, + email: profile.emails[0].value, + username: profile.username, + provider: 'facebook', + facebook: profile._json + }); + user.save(function(err) { + if (err) console.log(err); + return done(err, user); + }); + } else { + return done(err, user); + } + }); + } + )); + + //Use github strategy + passport.use(new GitHubStrategy({ + clientID: config.github.clientID, + clientSecret: config.github.clientSecret, + callbackURL: config.github.callbackURL + }, + function(accessToken, refreshToken, profile, done) { + User.findOne({ + 'github.id': profile.id + }, function(err, user) { + if (!user) { + user = new User({ + name: profile.displayName, + email: profile.emails[0].value, + username: profile.username, + provider: 'github', + github: profile._json + }); + user.save(function(err) { + if (err) console.log(err); + return done(err, user); + }); + } else { + return done(err, user); + } + }); + } + )); + + //Use google strategy + passport.use(new GoogleStrategy({ + clientID: config.google.clientID, + clientSecret: config.google.clientSecret, + callbackURL: config.google.callbackURL + }, + function(accessToken, refreshToken, profile, done) { + User.findOne({ + 'google.id': profile.id + }, function(err, user) { + if (!user) { + user = new User({ + name: profile.displayName, + email: profile.emails[0].value, + username: profile.username, + provider: 'google', + google: profile._json + }); + user.save(function(err) { + if (err) console.log(err); + return done(err, user); + }); + } else { + return done(err, user); + } + }); + } + )); +}; \ No newline at end of file diff --git a/config/routes.js b/config/routes.js new file mode 100755 index 0000000000..173f6475d0 --- /dev/null +++ b/config/routes.js @@ -0,0 +1,78 @@ +module.exports = function(app, passport, auth) { + //User Routes + var users = require('../app/controllers/users'); + app.get('/signin', users.signin); + app.get('/signup', users.signup); + app.get('/signout', users.signout); + + //Setting up the users api + app.post('/users', users.create); + + app.post('/users/session', passport.authenticate('local', { + failureRedirect: '/signin', + failureFlash: 'Invalid email or password.' + }), users.session); + + app.get('/users/me', users.me); + app.get('/users/:userId', users.show); + + //Setting the facebook oauth routes + app.get('/auth/facebook', passport.authenticate('facebook', { + scope: ['email', 'user_about_me'], + failureRedirect: '/signin' + }), users.signin); + + app.get('/auth/facebook/callback', passport.authenticate('facebook', { + failureRedirect: '/signin' + }), users.authCallback); + + //Setting the github oauth routes + app.get('/auth/github', passport.authenticate('github', { + failureRedirect: '/signin' + }), users.signin); + + app.get('/auth/github/callback', passport.authenticate('github', { + failureRedirect: '/signin' + }), users.authCallback); + + //Setting the twitter oauth routes + app.get('/auth/twitter', passport.authenticate('twitter', { + failureRedirect: '/signin' + }), users.signin); + + app.get('/auth/twitter/callback', passport.authenticate('twitter', { + failureRedirect: '/signin' + }), users.authCallback); + + //Setting the google oauth routes + app.get('/auth/google', passport.authenticate('google', { + failureRedirect: '/signin', + scope: [ + 'https://www.googleapis.com/auth/userinfo.profile', + 'https://www.googleapis.com/auth/userinfo.email' + ] + }), users.signin); + + app.get('/auth/google/callback', passport.authenticate('google', { + failureRedirect: '/signin' + }), users.authCallback); + + //Finish with setting up the userId param + app.param('userId', users.user); + + //Article Routes + var articles = require('../app/controllers/articles'); + app.get('/articles', articles.all); + app.post('/articles', auth.requiresLogin, articles.create); + app.get('/articles/:articleId', articles.show); + app.put('/articles/:articleId', auth.requiresLogin, auth.article.hasAuthorization, articles.update); + app.del('/articles/:articleId', auth.requiresLogin, auth.article.hasAuthorization, articles.destroy); + + //Finish with setting up the articleId param + app.param('articleId', articles.article); + + //Home route + var index = require('../app/controllers/index'); + app.get('/', index.render); + +}; diff --git a/gruntfile.js b/gruntfile.js new file mode 100755 index 0000000000..2c41e8d626 --- /dev/null +++ b/gruntfile.js @@ -0,0 +1,87 @@ +module.exports = function(grunt) { + // Project Configuration + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + watch: { + jade: { + files: ['app/views/**'], + options: { + livereload: true, + }, + }, + js: { + files: ['public/js/**', 'app/**/*.js'], + tasks: ['jshint'], + options: { + livereload: true, + }, + }, + html: { + files: ['public/views/**'], + options: { + livereload: true, + }, + }, + css: { + files: ['public/css/**'], + options: { + livereload: true + } + } + }, + jshint: { + all: ['gruntfile.js', 'public/js/**/*.js', 'test/**/*.js', 'app/**/*.js'] + }, + nodemon: { + dev: { + options: { + file: 'server.js', + args: [], + ignoredFiles: ['README.md', 'node_modules/**', '.DS_Store'], + watchedExtensions: ['js'], + watchedFolders: ['app', 'config'], + debug: true, + delayTime: 1, + env: { + PORT: 3000 + }, + cwd: __dirname + } + } + }, + concurrent: { + tasks: ['nodemon', 'watch'], + options: { + logConcurrentOutput: true + } + }, + mochaTest: { + options: { + reporter: 'spec' + }, + src: ['test/**/*.js'] + }, + env: { + test: { + NODE_ENV: 'test' + } + } + }); + + //Load NPM tasks + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-mocha-test'); + grunt.loadNpmTasks('grunt-nodemon'); + grunt.loadNpmTasks('grunt-concurrent'); + grunt.loadNpmTasks('grunt-env'); + + //Making grunt default to force in order not to break the project. + grunt.option('force', true); + + //Default task(s). + grunt.registerTask('default', ['jshint', 'concurrent']); + + //Test task. + grunt.registerTask('test', ['env:test', 'mochaTest']); +}; diff --git a/package.json b/package.json new file mode 100755 index 0000000000..7d0a69d01f --- /dev/null +++ b/package.json @@ -0,0 +1,51 @@ +{ + "name": "mean", + "description": "MEAN - A Modern Stack: MongoDB, ExpressJS, AngularJS, NodeJS. (BONUS: Passport User Support).", + "version": "0.1.0", + "private": false, + "author": "Amos Haviv", + "repository": { + "type": "git", + "url": "https://github.com/linnovate/mean.git" + }, + "engines": { + "node": "0.10.x", + "npm": "1.2.x" + }, + "scripts": { + "start": "node node_modules/grunt-cli/bin/grunt", + "test": "node node_modules/grunt-cli/bin/grunt test", + "postinstall": "bower install" + }, + "dependencies": { + "express": "latest", + "jade": "latest", + "mongoose": "latest", + "connect-mongo": "latest", + "connect-flash": "latest", + "crypto": "latest", + "passport": "latest", + "passport-local": "latest", + "passport-facebook": "latest", + "passport-twitter": "latest", + "passport-github": "latest", + "passport-google-oauth": "latest", + "underscore": "latest", + "view-helpers": "latest", + "mean-logger": "latest", + "forever": "latest", + "bower": "latest", + "grunt": "latest", + "grunt-cli": "latest", + "grunt-env": "latest" + }, + "devDependencies": { + "supertest": "latest", + "should": "latest", + "grunt-contrib-watch": "latest", + "grunt-contrib-jshint": "latest", + "grunt-nodemon": "latest", + "grunt-concurrent": "latest", + "grunt-mocha-test": "latest" + } +} diff --git a/public/css/common.css b/public/css/common.css new file mode 100755 index 0000000000..e91ae24026 --- /dev/null +++ b/public/css/common.css @@ -0,0 +1,25 @@ +.navbar .nav>li>a.brand { + padding-left:20px; + margin-left:0 +} + +.content { + margin-top:50px; + width:100% +} + +footer { + position:fixed; + left:0px; + bottom:0px; + height:30px; + width:100%; + background:#ddd; + -webkit-box-shadow:0 8px 6px 6px black; + -moz-box-shadow:0 8px 6px 6px black; + box-shadow:0 8px 6px 6px black +} + +footer p { + padding:5px 0 12px 10px +} \ No newline at end of file diff --git a/public/css/views/articles.css b/public/css/views/articles.css new file mode 100755 index 0000000000..163b1fa54d --- /dev/null +++ b/public/css/views/articles.css @@ -0,0 +1,7 @@ +h1 { + text-align:center +} + +ul.articles li:not(:last-child) { + border-bottom:1px solid #ccc +} \ No newline at end of file diff --git a/public/humans.txt b/public/humans.txt new file mode 100755 index 0000000000..5b037cf2e1 --- /dev/null +++ b/public/humans.txt @@ -0,0 +1,15 @@ +# humanstxt.org/ +# The humans responsible & technology colophon + +# TEAM + + -- -- + +# THANKS + + + +# TECHNOLOGY COLOPHON + + HTML5, CSS3 + jQuery, Modernizr diff --git a/public/img/.gitignore b/public/img/.gitignore new file mode 100755 index 0000000000..e69de29bb2 diff --git a/public/img/apple/apple-touch-icon-114x114-precomposed.png b/public/img/apple/apple-touch-icon-114x114-precomposed.png new file mode 100755 index 0000000000000000000000000000000000000000..172f1b621b104c06cda714507ddb0a4ecf3f7a1c GIT binary patch literal 13581 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 literal 0 HcmV?d00001 diff --git a/public/img/apple/apple-touch-icon-144x144-precomposed.png b/public/img/apple/apple-touch-icon-144x144-precomposed.png new file mode 100755 index 0000000000000000000000000000000000000000..20746cf0eea8c2fe9a417838e45c7e9bb96ef4b9 GIT binary patch literal 13580 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%0As{TT68p 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 eNiq_O;pE&B3A6Y`8j|D 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 literal 0 HcmV?d00001 diff --git a/public/img/apple/apple-touch-icon-72x72-precomposed.png b/public/img/apple/apple-touch-icon-72x72-precomposed.png new file mode 100755 index 0000000000000000000000000000000000000000..61c017c74348d284dc4cede6f11aae21648509d9 GIT binary patch literal 13547 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 literal 0 HcmV?d00001 diff --git a/public/img/apple/apple-touch-icon-precomposed.png b/public/img/apple/apple-touch-icon-precomposed.png new file mode 100755 index 0000000000000000000000000000000000000000..a70d9fd5d4f029b76b0df66ade327b2b90c20166 GIT binary patch literal 13558 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 PH<4r{6vb;rje`Fd0vU1| literal 0 HcmV?d00001 diff --git a/public/img/apple/apple-touch-icon.png b/public/img/apple/apple-touch-icon.png new file mode 100755 index 0000000000000000000000000000000000000000..94e2042f181c90992caf7c88612c3d353545d454 GIT binary patch literal 13606 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 GLH`T5gQ!se literal 0 HcmV?d00001 diff --git a/public/img/apple/splash.png b/public/img/apple/splash.png new file mode 100755 index 0000000000000000000000000000000000000000..5d3dbbded55eaa138dbc6f04a2aa585d7f47f4ac GIT binary patch literal 32559 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 C6yTfy literal 0 HcmV?d00001 diff --git a/public/img/apple/splash2x.png b/public/img/apple/splash2x.png new file mode 100755 index 0000000000000000000000000000000000000000..977f37af77da695df0c13f7c22bcf5cdfa3889bd GIT binary patch literal 73469 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 literal 0 HcmV?d00001 diff --git a/public/img/icons/facebook.png b/public/img/icons/facebook.png new file mode 100755 index 0000000000000000000000000000000000000000..3a04a89c803fda829681019d73a6e383055b36d8 GIT binary patch literal 8825 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 literal 0 HcmV?d00001 diff --git a/public/img/icons/favicon.ico b/public/img/icons/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..b459f5c485fcc5e9f0102e2e7cb6faf237f8702b GIT binary patch literal 2462 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 Uy$iVBSO5S307*qoM6N<$f^Axk*#H0l literal 0 HcmV?d00001 diff --git a/public/img/icons/google.png b/public/img/icons/google.png new file mode 100755 index 0000000000000000000000000000000000000000..401000a126a638e8c744e03bc4a236a7315a8064 GIT binary patch literal 7968 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 Y;f!LAB7(Fg&|-|JC=aX!qtVR&0s6pG?EnA( literal 0 HcmV?d00001 diff --git a/public/img/sprites/glyphicons-halflings-white.png b/public/img/sprites/glyphicons-halflings-white.png new file mode 100755 index 0000000000000000000000000000000000000000..3bf6484a29d8da269f9bc874b25493a45fae3bae GIT binary patch literal 8777 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 B7G?kd literal 0 HcmV?d00001 diff --git a/public/img/sprites/glyphicons-halflings.png b/public/img/sprites/glyphicons-halflings.png new file mode 100755 index 0000000000000000000000000000000000000000..a9969993201f9cee63cf9f49217646347297b643 GIT binary patch literal 12799 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 literal 0 HcmV?d00001 diff --git a/public/js/app.js b/public/js/app.js new file mode 100755 index 0000000000..a69b8d6761 --- /dev/null +++ b/public/js/app.js @@ -0,0 +1,4 @@ +window.app = angular.module('mean', ['ngCookies', 'ngResource', 'ui.bootstrap', 'ui.route', 'mean.system', 'mean.articles']); + +angular.module('mean.system', []); +angular.module('mean.articles', []); \ No newline at end of file diff --git a/public/js/config.js b/public/js/config.js new file mode 100755 index 0000000000..dc6ca36945 --- /dev/null +++ b/public/js/config.js @@ -0,0 +1,31 @@ +//Setting up route +window.app.config(['$routeProvider', + function($routeProvider) { + $routeProvider. + when('/articles', { + templateUrl: 'views/articles/list.html' + }). + when('/articles/create', { + templateUrl: 'views/articles/create.html' + }). + when('/articles/:articleId/edit', { + templateUrl: 'views/articles/edit.html' + }). + when('/articles/:articleId', { + templateUrl: 'views/articles/view.html' + }). + when('/', { + templateUrl: 'views/index.html' + }). + otherwise({ + redirectTo: '/' + }); + } +]); + +//Setting HTML5 Location Mode +window.app.config(['$locationProvider', + function($locationProvider) { + $locationProvider.hashPrefix("!"); + } +]); \ No newline at end of file diff --git a/public/js/controllers/articles.js b/public/js/controllers/articles.js new file mode 100755 index 0000000000..18bece8217 --- /dev/null +++ b/public/js/controllers/articles.js @@ -0,0 +1,52 @@ +angular.module('mean.articles').controller('ArticlesController', ['$scope', '$routeParams', '$location', 'Global', 'Articles', function ($scope, $routeParams, $location, Global, Articles) { + $scope.global = Global; + + $scope.create = function() { + var article = new Articles({ + title: this.title, + content: this.content + }); + article.$save(function(response) { + $location.path("articles/" + response._id); + }); + + this.title = ""; + this.content = ""; + }; + + $scope.remove = function(article) { + article.$remove(); + + for (var i in $scope.articles) { + if ($scope.articles[i] == article) { + $scope.articles.splice(i, 1); + } + } + }; + + $scope.update = function() { + var article = $scope.article; + if (!article.updated) { + article.updated = []; + } + article.updated.push(new Date().getTime()); + + article.$update(function() { + $location.path('articles/' + article._id); + }); + }; + + $scope.find = function() { + Articles.query(function(articles) { + $scope.articles = articles; + }); + }; + + $scope.findOne = function() { + Articles.get({ + articleId: $routeParams.articleId + }, function(article) { + $scope.article = article; + }); + }; +}]); \ No newline at end of file diff --git a/public/js/controllers/header.js b/public/js/controllers/header.js new file mode 100755 index 0000000000..1c1b04fcf2 --- /dev/null +++ b/public/js/controllers/header.js @@ -0,0 +1,13 @@ +angular.module('mean.system').controller('HeaderController', ['$scope', 'Global', function ($scope, Global) { + $scope.global = Global; + + $scope.menu = [{ + "title": "Articles", + "link": "articles" + }, { + "title": "Create New Article", + "link": "articles/create" + }]; + + $scope.isCollapsed = false; +}]); \ No newline at end of file diff --git a/public/js/controllers/index.js b/public/js/controllers/index.js new file mode 100755 index 0000000000..2687573559 --- /dev/null +++ b/public/js/controllers/index.js @@ -0,0 +1,3 @@ +angular.module('mean.system').controller('IndexController', ['$scope', 'Global', function ($scope, Global) { + $scope.global = Global; +}]); \ No newline at end of file diff --git a/public/js/directives.js b/public/js/directives.js new file mode 100755 index 0000000000..e69de29bb2 diff --git a/public/js/filters.js b/public/js/filters.js new file mode 100755 index 0000000000..e69de29bb2 diff --git a/public/js/init.js b/public/js/init.js new file mode 100755 index 0000000000..f77b4f2ae1 --- /dev/null +++ b/public/js/init.js @@ -0,0 +1,15 @@ +window.bootstrap = function() { + angular.bootstrap(document, ['mean']); +}; + +window.init = function() { + window.bootstrap(); +}; + +angular.element(document).ready(function() { + //Fixing facebook bug with redirect + if (window.location.hash == "#_=_") window.location.hash = ""; + + //Then init the app + window.init(); +}); \ No newline at end of file diff --git a/public/js/services/articles.js b/public/js/services/articles.js new file mode 100755 index 0000000000..2d496701ca --- /dev/null +++ b/public/js/services/articles.js @@ -0,0 +1,10 @@ +//Articles service used for articles REST endpoint +angular.module('mean.articles').factory("Articles", ['$resource', function($resource) { + return $resource('articles/:articleId', { + articleId: '@_id' + }, { + update: { + method: 'PUT' + } + }); +}]); \ No newline at end of file diff --git a/public/js/services/global.js b/public/js/services/global.js new file mode 100755 index 0000000000..95eb0117a0 --- /dev/null +++ b/public/js/services/global.js @@ -0,0 +1,9 @@ +angular.module('mean.system').factory("Global", [function() { + var _this = this; + _this._data = { + user: window.user, + authenticated: !! window.user + }; + + return _this._data; +}]); \ No newline at end of file diff --git a/public/robots.txt b/public/robots.txt new file mode 100755 index 0000000000..ee2cc216a6 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,3 @@ +# robotstxt.org/ + +User-agent: * diff --git a/public/views/articles/create.html b/public/views/articles/create.html new file mode 100755 index 0000000000..222464accd --- /dev/null +++ b/public/views/articles/create.html @@ -0,0 +1,21 @@ +

+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+
+
\ No newline at end of file diff --git a/public/views/articles/edit.html b/public/views/articles/edit.html new file mode 100755 index 0000000000..12d6c2b234 --- /dev/null +++ b/public/views/articles/edit.html @@ -0,0 +1,25 @@ +
+
+
+ + +
+ + +
+
+
+ + +
+ +
+
+
+
+ +
+
+
+
\ No newline at end of file diff --git a/public/views/articles/list.html b/public/views/articles/list.html new file mode 100755 index 0000000000..40b4fba8f1 --- /dev/null +++ b/public/views/articles/list.html @@ -0,0 +1,11 @@ +
+ +

No articles yet.
Why don't you Create One?

+
\ No newline at end of file diff --git a/public/views/articles/view.html b/public/views/articles/view.html new file mode 100755 index 0000000000..821d0b670c --- /dev/null +++ b/public/views/articles/view.html @@ -0,0 +1,6 @@ +
+ {{article.created | date:'medium'}} / + {{article.user.name}} +

{{article.title}} edit

+
{{article.content}}
+
\ No newline at end of file diff --git a/public/views/header.html b/public/views/header.html new file mode 100755 index 0000000000..7567812559 --- /dev/null +++ b/public/views/header.html @@ -0,0 +1,28 @@ + \ No newline at end of file diff --git a/public/views/index.html b/public/views/index.html new file mode 100755 index 0000000000..f245897ac9 --- /dev/null +++ b/public/views/index.html @@ -0,0 +1,3 @@ +
+

This is the home view

+
\ No newline at end of file diff --git a/server.js b/server.js new file mode 100755 index 0000000000..f1fb60e37b --- /dev/null +++ b/server.js @@ -0,0 +1,61 @@ +/** + * Module dependencies. + */ +var express = require('express'), + fs = require('fs'), + passport = require('passport'), + logger = require('mean-logger'); + +/** + * Main application entry file. + * Please note that the order of loading is important. + */ + +//Load configurations +//if test env, load example file +var env = process.env.NODE_ENV = process.env.NODE_ENV || 'development', + config = require('./config/config'), + auth = require('./config/middlewares/authorization'), + mongoose = require('mongoose'); + +//Bootstrap db connection +var db = mongoose.connect(config.db); + +//Bootstrap models +var models_path = __dirname + '/app/models'; +var walk = function(path) { + fs.readdirSync(path).forEach(function(file) { + var newPath = path + '/' + file; + var stat = fs.statSync(newPath); + if (stat.isFile()) { + if (/(.*)\.(js$|coffee$)/.test(file)) { + require(newPath); + } + } else if (stat.isDirectory()) { + walk(newPath); + } + }); +}; +walk(models_path); + +//bootstrap passport config +require('./config/passport')(passport); + +var app = express(); + +//express settings +require('./config/express')(app, passport, db); + +//Bootstrap routes +require('./config/routes')(app, passport, auth); + +//Start the app by listening on +var port = process.env.PORT || config.port; +app.listen(port); +console.log('Express app started on port ' + port); + +//Initializing logger +logger.init(app, passport, mongoose); + +//expose app +exports = module.exports = app; diff --git a/test/article/model.js b/test/article/model.js new file mode 100755 index 0000000000..9d1fd034c2 --- /dev/null +++ b/test/article/model.js @@ -0,0 +1,65 @@ +/** + * Module dependencies. + */ +var should = require('should'), + app = require('../../server'), + mongoose = require('mongoose'), + User = mongoose.model('User'), + Article = mongoose.model('Article'); + +//Globals +var user; +var article; + +//The tests +describe('', function() { + describe('Model Article:', function() { + beforeEach(function(done) { + user = new User({ + name: 'Full name', + email: 'test@test.com', + username: 'user', + password: 'password' + }); + + user.save(function(err) { + article = new Article({ + title: 'Article Title', + content: 'Article Content', + user: user + }); + + done(); + }); + }); + + describe('Method Save', function() { + it('should be able to save without problems', function(done) { + return article.save(function(err) { + should.not.exist(err); + done(); + }); + }); + + it('should be able to show an error when try to save without title', function(done) { + article.title = ''; + + return article.save(function(err) { + should.exist(err); + done(); + }); + }); + }); + + afterEach(function(done) { + Article.remove({}); + User.remove({}); + done(); + }); + after(function(done){ + Article.remove().exec(); + User.remove().exec(); + done(); + }); + }); +}); diff --git a/test/user/model.js b/test/user/model.js new file mode 100755 index 0000000000..0ec6820a1f --- /dev/null +++ b/test/user/model.js @@ -0,0 +1,66 @@ +/** + * Module dependencies. + */ +var should = require('should'), + app = require('../../server'), + mongoose = require('mongoose'), + User = mongoose.model('User'); + +//Globals +var user; + +//The tests +describe('', function() { + describe('Model User:', function() { + before(function(done) { + user = new User({ + name: 'Full name', + email: 'test@test.com', + username: 'user', + password: 'password' + }); + user2 = new User({ + name: 'Full name', + email: 'test@test.com', + username: 'user', + password: 'password' + }); + + done(); + }); + + describe('Method Save', function() { + it('should begin with no users', function(done) { + User.find({}, function(err, users) { + users.should.have.length(0); + done(); + }); + }); + + it('should be able to save whithout problems', function(done) { + user.save(done); + }); + + it('should fail to save an existing user again', function(done) { + user.save(); + return user2.save(function(err) { + should.exist(err); + done(); + }); + }); + + it('should be able to show an error when try to save without name', function(done) { + user.name = ''; + return user.save(function(err) { + should.exist(err); + done(); + }); + }); + }); + + after(function(done) { + User.remove().exec(); + done(); + }); + }); +}); \ No newline at end of file