Project forked from: https://github.com/jpotts18/mean-stack-relational
- Node.js - Download and Install Node.js. You can also follow this gist for a quick and easy way to install Node.js and npm
- MySQL - Download and Install MySQL - Make sure it's running on the default port (3306).
-
NPM - Node.js package manager, should be installed when you install node.js.
-
Bower - Web package manager, installing Bower is simple when you have npm:
npm install -g bower
- Clone the repository
- Make sure you create the MySQL Database named
mean_relational
- Go into the repository
- Install dependencies with NPM
npm install
. This will copy development.json5, and production.json5 from respective sample files in the config/env folder and run the grunt copy task to copy frontend lib files to their destination. - Plug in your private and public keys for working with FB and Twitter into
/config/env/development.json5
and/or/config/env/development.json5
. - Wire up the database connection found in
/config/env/development.json5
and/or/config/env/production.json5
. - Run in production mode with:
pm2 start pm2-ecosystem.json --env production
(Runsudo npm install -g pm2
if it's not installed.), or - Run in development mode with grunt:
grunt
- Make something awesome!
Thats all! Now go and open up your browser at http://localhost:3000
- Passport - Passport is authentication middleware for Node.js. Extremely flexible and modular, Passport can be unobtrusively dropped in to any Express-based web application. A comprehensive set of strategies support authentication using a username and password, Facebook, Twitter, and more.
- Express - Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.
- Sequelize - The Sequelize library provides easy access to MySQL, MariaDB, SQLite or PostgreSQL databases by mapping database entries to objects and vice versa. To put it in a nutshell, it's an ORM (Object-Relational-Mapper). The library is written entirely in JavaScript and can be used in the Node.JS environment.
-
Grunt - In one word: automation. The less work you have to do when performing repetitive tasks like minification, compilation, unit testing, linting, etc, the easier your job becomes. After you've configured it, a Grunt can do most of that mundane work for you—and your team—with basically zero effort.
-
It watches your filesystem and when it detects a change it will livereload your changes.
-
It runs jshint which looks through your javascript files and ensures coding standards.
-
It runs nodemon which watches changes in specific folders and recompiles the app when necessary. No running
node app.js
every 2 minutes. -
It can also run tests like mocha and karma for you.
-
-
Bower - Bower is a package manager for the web. It offers a generic, unopinionated solution to the problem of front-end package management, while exposing the package dependency model via an API that can be consumed by a more opinionated build stack. There are no system wide dependencies, no dependencies are shared between different apps, and the dependency tree is flat.
- Angular.js - AngularJS is an open-source JavaScript framework, maintained by Google, that assists with running single-page applications. Its goal is to augment browser-based applications with model–view–controller (MVC) capability, in an effort to make both development and testing easier.
- Twitter Bootstrap - Sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development.
- UI Bootstrap - Bootstrap components written in pure AngularJS by the AngularUI Team