Giter Site home page Giter Site logo

rit-ist's Introduction

rit-ist

This is a redesign of ist.rit.edu for 340 - Client Programming.

The goal of this project is to come up with a sane architecture for consuming www.ist.rit.edu/api/. The only requirement is the Project must use jQuery and 3 plugins.

For my plugins I have chosen to use:

  • RxJS-JQuery - Adds reactive bindings to jquery. Allow me to wrap jQueries HTTP request and get back an Observable rather than a promise.
  • jQuery Tables - Used in coop/professional tables
  • Materializecss - jQuery based CSS framework for Material Design.

Aside from that I have optionally selected:

  • Require.js - Adds sane module loading. I chose AMD vs es2015 modules since es6 modules are not supported in any browser natively. The goal is to only use es2015 features if they are supported natively in the latest browsers, and produce transpiled code which is easily mapped to the source (only use features which are light syntactic sugar).
  • Gulp - Build process. Will optimize code to run IE 9+;
  • Font Awesome - To reuse all the same icons as the current website.

Build dependencies

Building is only required if you want to run this project in an out of date browser

  1. Node

  2. bower sudo npm install -g bower

  3. gulp sudo npm install -g gulp

Building Project

Building is only required if you want to run this project in an out of date browser

  1. git clone https://github.com/BLamy/rit-ist.git

  2. cd rit-ist

  3. npm install

  4. bower install

  5. gulp serve

ES2015

The following ES2015 features will be used:

Arrow functions: http://caniuse.com/#search=arrow%20functions

Template Literals: https://kangax.github.io/compat-table/es6/#test-template_strings

Const Keyword: http://caniuse.com/#search=const

Let Keyword: http://caniuse.com/#search=let

All of these features will work in the latest browsers without any building. For support in browsers older than IE edge you can use gulp to remove the sugar and produce pure es5 code.

Gulp support

A gulp file is provided for building the application.

  • gulp vulcanize - Will flatten AMD modules from compatibility/* to one dist/app.js file. For use in production.
  • gulp transpile - Will take code from src/**/*.js and transpile it into compatibility directory for testing in old browsers.
  • gulp build - Will create a distribution build.

Known Issues

  • Click handlers should not be inside inside of the observers subscribe block. event streams should be merged to be more RX-like.
  • Micro optimization - Employment model should be pulled in using individual request only loading the ones that are needed immediately.

todo

  • Toolbar
  • hero
  • About
  • Degrees
  • Minors
  • Employment
  • Map
  • Gulp Serve
  • People
  • Research
  • Resources
  • News
  • Footer

rit-ist's People

Contributors

blamy avatar

Stargazers

 avatar

Watchers

 avatar James Cloos 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.