Skip to content
Alastair Paragas edited this page May 30, 2015 · 8 revisions

MyHonors Development Wiki

Welcome to the MyHonors Development Wiki, a detailed walkthrough of the development process of MyHonors (Web). All the development process is documented here as much as possible to ease in of someone contributing to the MyHonors web platform.

Starting Development

  1. Setup the appropriate configuration settings (keys, reference URLs, etc.) at app/.config.js.
  2. npm install to install all of our development dependencies.
  3. bower install to install all of our front-end dependencies.
  4. gulp to run gulp, our task runner that automates things like SASS to CSS compilation, JS minification and uglifying, JSX and/or Typescript to JS compilation.

Technology

MyHonors uses a myriad of web technologies. Some frameworks, tools, and libraries that are used are:

Core Frameworks/Libraries

  • FirebaseJS for storing data in real-time to the Firebase database
  • AngularJS for organizing and abstracting client-side Javascript app logic
  • Bootstrap for the app's interface and design

Build Process

  • Gulp for automating some tasks like running our tests, minification, code-hints and many more
  • Bower for handling our front-end dependencies
  • Jasmine for unit-testing our Javascript code
  • Travis CI for continous-integration, ensuring the quality of our production code

Ground rules

To keep MyHonors highly scalable, it needs to follow a certain discipline in its development environment. Here are some ground rules to follow:

  • Always write your tests before you write your code - Behavior Driven Development!
  • Make sure that tests pass and that you are in sync with the current master branch before making a pull request/merge to the master branch!
  • Follow John Papa's Angular Style Guide as much as you can.
  • Overview of Javascript, including ES6/ES7.
  • Follow the style guide.