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:
-
Git
Download from git
-
Nodejs(LTS)/Npm
Download from nodejs
-
Mongodb
-
mongodb (Mongodb Admin Panel)(Optional)
npm install -g mongo-express
Type in windows terminal (Or linux obviously)
git clone https://github.com/Eloverflow/blogproject blogproject-folder
cd blogproject-folder
npm install
npm run serve
Now browse to blogproject at http://localhost:3000/
(Be sure to have a destination folder for the database or use : mongod --dbpath <Your mongo databse folder>)
mongod
npm run serve:api
Now browse to blogproject API at localhost Debugger
- 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)
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
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)
There are two kinds of tests in the application: Unit tests and end-to-end tests(Protractor).
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
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.
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.
For more information on Blogproject please check out http://mirageflow.com/