Skip to content

Small yet sturdy blog system that consists of full mean stack.

Notifications You must be signed in to change notification settings

Artsu/Tiny-MEAN-blog-system

Repository files navigation

Tiny MEAN blog system

Welcome to tiny MEAN blog system! It is a very small yet sturdy blog system that consists of full mean stack (Mongodb, Express, AngularJS & NodeJS). The system is mostly done for learning purposes, but feel free to use it in any way you want.

Features

The tiny MEAN blog system can do all this and more:

  • Login using passport
  • Add and edit new blog postsc
  • Delete blog posts
  • Automatic listing and pagination for blog posts
  • Embedded ckeditor for both content and abstract
  • Dynamically created breadcrumb
  • AngularJS frontend
  • Node.js & Express backend
  • MongoDB as database solution

Installation

To install the blog system follow these easy steps:

  • Download the package from GitHub git clone https://github.com/Artsu/Tiny-MEAN-blog-system.git mean-blog
  • Run npm install and bower install commands (must have npm and bower installed)
  • Install and run ./mongod
  • Run one of the following commands
    • grunt serve launches the node-express server with test data so you can start trying it out. Includes watch and livereload plugins.
    • grunt serve:dist once you are done with your editing, run this command before going live and make sure everything works. This does the same as grunt serve but it build the dist package first and doesn't use watch or livereload.
    • grunt runs all the tests included in the project and builds the dist package which you can then dump to your production environment.
  • Use /login page to login/create user. In production environment you should create your user and then edit routes.js so that app.post('/api/users', users.create); becomes app.post('/api/users', middleware.auth, users.create);. This makes it sure that no further users can create their accounts as there are no separate administrator roles included in the system.

And basically that's it! For production environment you probably want to have some more software installed on the server such as apache/nginx, and forever to run the Node server as a background process that can start itself in case something bad happens. In production environment remember to have NODE_ENV environment variable set to 'production'.

Technologies

There are number of amazing technologies included in this project. Here are listed some of these technologies.

####Frontend:

  • AngularJS
  • Angular-UI
  • CKeditor
  • Twitter Bootstrap Sass
  • Testing:
    • Karma
    • Jasmine
    • ngHtml2JsPreprocessor

####Backend:

  • Node.js
  • Express
  • MongoDB
  • Passport
  • Testing
    • Mocha
    • Supertest

####Build process:

TODO

Project is no longer in active development. Things that should be done next in case development is continued:

  • SEO
  • Validation messages
  • Tags
  • Image uploader
  • Hiding blog posts
  • Versioning

License

Copyright (c) 2014 Ari-Matti Nivasalo

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.

About

Small yet sturdy blog system that consists of full mean stack.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published