All Projects → DaftMonk → Angular Passport

DaftMonk / Angular Passport

Licence: mit
AngularJS + Express application that demonstrates: Authentication with Passport, CRUD interface for creating posts with mongoDB, server and client validations for account creation, and authorization for editing posts.

Programming Languages

javascript
184084 projects - #8 most used programming language

Angular-Passport

An AngularJS application that uses Express, Passport, MongoDB. Demonstrating:

  • Authentication using Passport
  • Account creation and server validation with Mongoose.
  • CRUD interface for creating posts with MongoDB
  • Client validations for account creation including a directive for validating if a username is available.
  • Authorization middleware for checking if you are allowed to edit a post.
  • Unit tests for client code

Live Example

Try out the app: http://angular-passport.herokuapp.com (Heroku app may have gone to sleep, reload the page if it doesn't work.)

How to use angular-passport

Before you continue, make sure you have MongoDB installed http://www.mongodb.org/downloads/.

Setup

Run npm install, followed by bower install to grab the dependencies.

Running the app

Run grunt server to start the app in development mode with livereload, or run grunt server:dist to run it in a minified and optimized production build.

Testing

Run grunt test to start the karma test runner.

Directory structure

+---server.js           -> Bootstrap Server
|
+---app                 -> Client
|   +---scripts
|   |   +---controllers
|   |   +---directives
|   |   \---services
|   |
|   +---styles
|   \---views
|       \---partials
|           \---blogs
+---lib                 -> Server
|   +---config
|   +---controllers
|   +---db
|   \---models
|           
+---test                -> Client unit tests
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].