Eloverflow / mirageflow

Mean Stack

Home Page:http://mirageflow.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Latest Stable Version Total Downloads

Blogproject

This is an open-source Blog project made by Mirageflow Inc.

  • MongoDB as Database
  • ExpressJS API as Back-End
  • AngularJS Application as Front-End
  • You can try it here : http://blogproject.net

The project includes theses features:

Prerequisites

  • Git

    Download from git

  • Nodejs(LTS)/Npm

    Download from nodejs

  • Mongodb

    Download from Mongodb | Instruction : from Microsoft

  • mongodb (Mongodb Admin Panel)(Optional)

npm install -g mongo-express

How to use this app

Type in windows terminal (Or linux obviously)

git clone https://github.com/Eloverflow/blogproject blogproject-folder
cd blogproject-folder
npm install

To Run Blogroject

npm run serve

Now browse to blogproject at http://localhost:3000/

To Run Database

(Be sure to have a destination folder for the database or use : mongod --dbpath <Your mongo databse folder>)

mongod

To Run Blogroject API

npm run serve:api

Now browse to blogproject API at localhost Debugger

Content

  • Posts Listing
  • Post consulting
  • Post commenting
  • Post comments sub-commenting
  • Post comments Up vote & Down vote
  • Complete build-in authentication
  • Secured with JWT Token
  • Sign-up
  • Sign-in
  • Forgot-password (Require email configurations)
  • Create User (User must be admin)
  • Facebook authentication (Require facebook configurations)
  • Profile
  • Change password
  • Create Post (User must be admin)
  • Edit Post (User must be admin)
  • Delete Post (User must be admin)

Directory Layout

api_dev/                --> all of the source files for the API
  bin/                      --> www server and process files
  config/                   --> API config
  models/                   --> model and schema (database objects)
  routes/                   --> route (url->functions)
  views/                    --> render (html)
  server.js                 --> main api module
e2e-tests/              --> protractor test files
gulp_tasks/             --> gulp tasks that wil be imported by gulpfile.js
node_modules/           --> External modules | will be created and populated after npm install
src/                    --> all of the source files for the application including scss
  index.scss                --> scss index
  modules/                  --> scss modules
  app/                      --> all of the source files for the application
    app.js                      --> main application module
    index.css                   --> will be generated by gulp using the scss
    index.html                  --> app layout file (the main html template file of the app)
    logoutcallback.html         --> facebook auth requirement
    oauthcallback.html          --> facebook auth requirement
    lib/                        --> External modules | will be created and populated after npm install or bower install
    controllers_res/            --> controller resources
    view_contact/                    --> contact controller and views
    view_about/                      --> about controller and views
    view_post/                       --> post controller and views
    view_posts/                      --> posts controller and views
    view_profile/                    --> profile controller and views
    view_user/                    --> user controller and views
    js/                         --> other js files
    assests/                    --> assets (Such as font)
    img/                        --> images
gulpfile.js             --> Allow for taks such as SCSS compile & Livereload
package.json            --> Dependencies and scripts for NPM
bower.json              --> Dependencies for Bower
.bowerrc                --> Configuration for Bower
karma.conf.js           --> Configuration for Karma test runner
travis.yml              --> Test and Deploy

Full NPM Command

npm run serve (to launch a web server on your source files)
npm run serve:api (to launch a server api on your optimized application)
npm run test-single-run (to launch your unit tests with Karma)

Testing

There are two kinds of tests in the application: Unit tests and end-to-end tests(Protractor).

Running Unit Tests

The easiest way to run the unit tests is to use the supplied npm script:

Karma will do a single run of the tests and then exit. This is useful if you want to check that a particular version of the code is operating as expected. The project contains a predefined script to do this:

npm run test-single-run

Updating Angular

Previously we recommended that you merge in changes to angular-seed into your own fork of the project. Now that the angular framework library code and tools are acquired through package managers (npm and bower) you can use these tools instead to update the dependencies.

You can update the tool dependencies by running:

npm update

This will find the latest versions that match the version ranges specified in the package.json file.

You can update the Angular dependencies by running:

bower update

This will find the latest versions that match the version ranges specified in the bower.json file.

Continuous Integration

Travis CI

Travis CI is a continuous integration service, which can monitor GitHub for new commits to your repository and execute scripts such as building the app or running tests. The angular-seed project contains a Travis configuration file, .travis.yml, which will cause Travis to run your tests when you push to GitHub.

You will need to enable the integration between Travis and GitHub. See the Travis website for more instruction on how to do this.

Contact

For more information on Blogproject please check out http://mirageflow.com/

About

Mean Stack

http://mirageflow.com

License:MIT License


Languages

Language:JavaScript 58.4%Language:HTML 25.1%Language:CSS 16.5%