Coder Social home page Coder Social logo

chaudhryjunaid / mean-stack-relational Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jpotts18/mean-stack-relational

0.0 3.0 0.0 3.94 MB

M*EAN (*MySQL, Express, Angular, Node) - A Simple, Scalable and Easy starting point for javascript web development with a relational database ORM

License: MIT License

JavaScript 8.43% HTML 90.55% CSS 0.28% Makefile 0.74%

mean-stack-relational's Introduction

Warning: This project is out of date. I would love contributions but I don't plan to make the updates myself.

MEAN Stack Relational Mean Stack Build Status

The main idea for this repository is shamelessly stolen from http://mean.io. It says:

MEAN is a boilerplate that provides a nice starting point for [MySQL], Express, Node.js, and AngularJS based applications. It is designed to give you quick and organized way to start developing of MEAN based web apps with useful modules like sequelize and passport pre-bundled and configured. We mainly try to take care of the connection points between existing popular frameworks and solve common integration problems.

The MongoDB ORM, Mongoose, has been replaced with Sequelize. Switching from mongoose to sequelize allows developers easy access to MySQL, MariaDB, SQLite or PostgreSQL databases by mapping database entries to objects and vice versa.

Addy Osmani's Blog explains SQL databases, being strongly typed in nature are great at enforcing a level of consistency, ensuring many kinds of bad data simply don’t get recorded. By using SQL databases MEAN Stack Relational favors reliability over the performance gains of NoSQL databases.

Getting Started

Alright now the fun begins. First clone or download the repo to your computer.

  1. Clone the repository git clone [email protected]:jpotts18/mean-stack-relational.git.
  2. Go into the repository cd mean-stack-relational/.
  3. Install dependencies with NPM npm install.
  4. Plug in your private and public keys for working with FB and Twitter into /config/env/development.js.
  5. Wire up the database connection found in /config/env/development.js.
  6. Initialize Grunt task runner grunt.
  7. Make something awesome!

Thats all! Now go and open up your browser at http://localhost:3000, and tweet @jpotts18 to say thanks!

Prerequisites

  • 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).

Tool Prerequisites

  • NPM - Node.js package manager, should be installed when you install node.js. NPM (Node Package Manager) will look at the package.json file in the root of the project and download all of the necessary dependencies and put them in a folder called node_modules

  • Bower - Web package manager, installing Bower is simple when you have npm: npm install -g bower

NPM Modules Used

  • 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.

Javascript Tools Used

  • 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.

    1. It watches your filesystem and when it detects a change it will livereload your changes.

    2. It runs jshint which looks through your javascript files and ensures coding standards.

    3. It runs nodemon which watches changes in specific folders and recompiles the app when necessary. No running node app.js every 2 minutes.

    4. 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.

Front-End Tools Used

  • 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

Troubleshooting

During install some of you may encounter some issues feel free to contact me (jpotts18), via the repository issue tracker or the links provided below. I am also available on twitter @jpotts18.

mean-stack-relational's People

Contributors

jpotts18 avatar chaudhryjunaid avatar eric-d avatar msteward avatar marianaiam avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.