A course management application for Columbia.
JavaScript CSS Python Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.meteor Redirect more intelligently to prevent redirect loops Sep 16, 2014
client adding call number to sidebar Nov 14, 2014
collections Issue #189 - search loading indicator implemented Oct 10, 2014
lib Merge pull request #236 from adicu/redirect Nov 9, 2014
packages Revert "Migrate Meteor to 0.9.1" Aug 31, 2014
private/example-db
public add new logo and twitter, facebook, and google meta tags Jul 30, 2014
scripts Decrease the specificity of Course to Section "joins" Jul 31, 2014
server
tests
.gitignore
Dockerfile Bug fix May 3, 2014
LICENSE Add GPL Oct 17, 2013
README.md More docs, move package loading order Jul 27, 2014
packages.json
settings.courses
smart.json Revert "Migrate Meteor to 0.9.1" Aug 31, 2014
smart.lock

README.md

Courses

Build instructions:

  1. Install node.js
  2. Install meteor: curl https://install.meteor.com/ | sh
  3. Install meteorite: npm install -g meteorite
  4. Install meteor packages: mrt install
  5. Run courses: meteor
  6. View Courses at http://localhost:3000/

Search: You'll need to do something like ssh -L 9200:localhost:9200 adi-data to tunnel into our servers to get the search working. Unfortunately as of now there isn't much of a better way to do this.

App structure

This app structure is based on the recommendations here

Note that most of the frontend code in is client/ but that the frontend code may also access code in other directories (but not tests/ and server/)

client/                     # Most of the frontend code
    lib/                    # client utlity code
      router.js             # **routes defined here**
    stylesheets/            # stylesheets for the whole app
    views/                  # **client view code**
    index.html              # Everything is injected into here
collections/                # db collections (client and server)
lib/                        # global utility code
    constants.js            # Various constants
public/                     # static files (ex. img)
scripts/                    # utility scripts not used by meteor
tests/                      # tests
smart.json                  # Meteor package manifest

Testing

Tests are currently in the tests/mocha-web-velocity directory. Editing and saving any of these tests will cause them to be automatically rerun. See the status of tests by clicking the on circle on the top right corner of the page (will only be shown in development mode).

Docker

Docker support is coming soon. Note: Docker support is for deployment, as you lose all of the reactive goodness (automatic reloading) if Meteor isn't running locally.