Skip to content

CUNYTech/eOrganizer

Repository files navigation

Prerequisites

Build Status Code Climate

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

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

Getting Started

  1. Clone the repository
  2. Make sure you create the MySQL Database named mean_relational
  3. Go into the repository
  4. 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.
  5. Plug in your private and public keys for working with FB and Twitter into /config/env/development.json5 and/or /config/env/development.json5.
  6. Wire up the database connection found in /config/env/development.json5 and/or /config/env/production.json5.
  7. Run in production mode with: pm2 start pm2-ecosystem.json --env production (Run sudo npm install -g pm2 if it's not installed.), or
  8. Run in development mode with grunt: grunt
  9. Make something awesome!

Thats all! Now go and open up your browser at http://localhost:3000

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

About

Event organizer for CUNY students

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published