Skip to content
James Brinkerhoff edited this page Mar 29, 2016 · 2 revisions

forward-project

project example and lesson pages for the Engage Forward training program.

Tech used in this project

  • Angular 1 & 2
  • Webpack (manages assets and versions built)
  • Ionic 2
  • Node.js
  • MongoDB
  • Firebase
  • Bootstrap & Material Design
  • React.js
  • RXJS
  • NPM
  • TypeScript
  • SCSS
  • HTML

Design Patterns used in this project

  • Model View Controller (MVC)
  • Singletons
  • Decorator
  • Adapter
  • Publish/Subscribe or Observer
  • Classes and Abstractions

Princlples used in this project

  • Don't Repeat Yourself (DRY)
    • aimed at reducing repetition of information of all kinds, especially useful in multi-tier architectures.
  • Single Responsibility Princple
    • states that every module or class should have responsibility over a single part of the functionality provided by the software, and that responsibility should be entirely encapsulated by the class.
  • Separation of Concerns
    • design principle for separating a computer program into distinct sections, such that each section addresses a separate concern. A concern is a set of information that affects the code of a computer program.
  • Minimize Coupling
    • Prevent the amount of dependencies on a module of code.
  • Maximize Cohesion
    • Code that has similar functionality should be found within the same component.
  • Embrace Change
    • Software Development is always changing and growing so keep up or be left behind.

paradigms used

A programming paradigm is a style or “way” of programming. Some languages make it easy to write in some paradigms but not others.

  • Functional
    • a style of building the structure and elements of computer programs—that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data.
  • Object-Oriented
    • based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods.