/webskeleton2.0

A readymade structure for web applications.

Primary LanguageJavaScript

WebSkeleton

A readymade authentication system in MEAN stack for creating web apps.

M-MongoDB
E-ExpressJS
A-AngularJS
N-NodeJS

###Features :

  • Register a new User
  • Login using email,username or mobile
  • Logout
  • Edit Profile ->Username ->Profile data(Name,Address) ->Add mobile number ->Upload profile picture
  • Email Verification
  • Mobile number verification
  • Reset Password using Email
  • Dual data validation (Both client and server side )
  • Dual password encryption ->MD5 on client side to hide passwords in requests ->SHA512 and salt on server side to store in database
  • Shows login status on top
  • SPA design(Single Page Application)
  • Passport.js integeration ready with

    Google SignIn integration Facebook SignIn integration

  • Realtime Username Availability Check
  • Loading Screen Animations (Choose your favourite one,Easily configurable)
  • Database in MongoDB(JSON format)
  • Full application easily configurable and manageable
  • Bootstrap Enabled
  • Full Session Management capabilities
  • Multer integeration for file uploads

Getting Started

Prerequisites

####For running purposes

-Node.js installed on the system
-MongoDB installed on the system and configured
-A Twilio Account SID,Token and Mobile Number for using mobile number verification
 (Get them by registering at their website https://www.twilio.com/)
-A valid Email account and password for sending Emails for email verification
-Google ClientId ,Api key
(Get it by registering as developer from https://console.developers.google.com)
-Facebook AppId
(Get it by registering as developer from https://developers.facebook.com)

####Following node package is required to be installed globally

-bower
>npm install -g bower

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Setting up application
    -Clone the project
    -Open cmd/terminal
    -Change current directory to project directory
    -Run command:
        >npm install
    -Change current directory to public
    -Run commands:
        >npm install
        >bower install 

    -Go to project directory > config and open config.js
        >Replace database path with your own database path.
        >Replace session database path for session database.
        >Add Email id,password to send email from.
        >Add Twilio account id,token and number to send message from.  
        >Change session keys suitably(any no. of random strings).

    -Go to project directory > public > scripts > app.js
        >Add google client Id and api key
        >Add facebook appId

Running the application
    -Open cmd/terminal 
        >mongod --dbpath="Directory of mongodb databases"
    -Open another cmd window/terminal
        >node serverstart.js
    -Open browser and in address bar type:
        localhost:1234

Yay! the application is ready

Built With

  • AngularJS - The web framework used
  • NodeJS - Platform used for creating and running server
  • ExpressJS - The node.js framework used
  • MongoDB - Used for creating and managing database
  • Yeoman - Used for running generators.
  • Angular-generator - Used for creating angular application base.
  • Express-generator - Used for creating base structure for nodejs application.

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details