GithubHelp home page GithubHelp logo

ryanhugh / coursepro Goto Github PK

View Code? Open in Web Editor NEW
12.0 4.0 1.0 24.08 MB

Easily navigate class registration data.

License: GNU Affero General Public License v3.0

JavaScript 67.09% HTML 30.37% CSS 2.24% Shell 0.02% Python 0.27%
college registration-data neu northeastern

coursepro's Introduction

CoursePro Travis CI Builds Website GitHub issues Greenkeeper badge GitHub license

This project is deprecated in favor of Search NEU. Most of the feature here are also available there, and we are working on adding support for the other features. Check out Search NEU at https://searchneu.com!

Easily navigate class registration data.

CoursePro scrapes all of the registration data from college sites (class description, seats open, seat capacity, class times and locations, professors, etc), and presents it in a much easier to use format. The most popular features are a prerequisite graph to visualize class prerequisites, automatic notifications when seats open up, and a calendar to show when during the week classes are.

The backend is written in NodeJS and the data is scraped into MongoDB. The frontend is written in AngularJS v1 and the prereq graph was created with D3.js.

Setup

git clone [email protected]:ryanhugh/coursepro.git
npm install yarn -g # If you don't already have yarn installed
yarn
yarn global add gulp forever

# Or if you want to use npm
npm install
npm install gulp forever -g


# This bash command lets nodejs bind to port 80 without root
sudo setcap 'cap_net_bind_service=+ep' $(which nodejs)

# or if you are using the fish shell
sudo setcap 'cap_net_bind_service=+ep' (which nodejs)

Running the code

gulp dev

Runs the code in development mode. Connects to the MongoDB coursepro_dev table for the data. Messaged me and I will add your IP to the whitelist and send you the username + password.

gulp test

Runs the frontend and backend tests. Automatically re-runs when any file in frontend/, backend/ or common/ changes. Does not need to connect to the database and can run totally offline.

gulp btest

Same as gulp test, but just runs backend tests.

gulp ftest

Same as gulp test, but just runs frontend tests.

gulp prod

Runs the app in production mode. Don't actually use this to run in production, use run.sh instead. The only difference is that run.sh uses forever to restart the server if it ever crashes and redirects stdout and stderr to log files.

gulp spider [-neu][-gatech][-brown][-swarthmore] [ etc...] | tee log.log

Scrapes the data from a specific college. Tees the output to a file, but you still might want to use | tee log.log. Takes anywhere from 20 min to a couple hours to run, totally depends on the college. NEU takes about 1 hour. I would recommend keeping a eye on the scrapers when scraping a college for the first time. Sometimes the spidering code can send so many requests that the school's registration website crashes.

Adding support for another college

Right now we have scrapers for Ellucian's Banner product and can support any college that uses that system. If your school uses this, we can add support for them pretty fast. Open a bug or send me a link your registration system.
Check differentCollegeUrls.js for some examples of URLs.

If they use something else, we would have to write scrapers for that system and it would require more work.

More READMEs

This is the top level readme, there are more READMEs talking about more specific things in the folders.

Let me know if you have any questions about anything! I can totally explain stuff in more detail than the READMEs do.

coursepro's People

Contributors

greenkeeper[bot] avatar ryanhugh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

coursepro's Issues

An in-range update of browserify is breaking the build 🚨

Version 14.3.0 of browserify just got published.

Branch Build failing 🚨
Dependency browserify
Current Version 14.2.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As browserify is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ


Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details
Commits

The new version differs by 4 commits .

  • cd01926 14.3.0
  • 08caf04 changelog
  • ad5060d Merge pull request #1710 from substack/https-browserify-1
  • 7c7b4d4 update https-browserify to ^1.0.0

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of mongodb is breaking the build 🚨

Version 2.2.27 of mongodb just got published.

Branch Build failing 🚨
Dependency mongodb
Current Version 2.2.26
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

mongodb is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ

Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 25 commits.

  • ec3ed99 Updated version and history to V2.2.27
  • 7e16fc7 Merge branch '2.2' of github.com:mongodb/node-mongodb-native into 2.2
  • 504d401 NODE-993 Expose hasNext for command cursor and add docs for both CommandCursor and Aggregation Cursor
  • 613cd12 Merge pull request #1517 from vkarpov15/patch-2
  • 989e826 allow saving doc with null _id
  • a37812d NODE-996 Added test case for MongoClient SDAM events
  • 1631503 Merge branch '2.2' of github.com:mongodb/node-mongodb-native into 2.2
  • 9a47c40 NODE-996 Propegate all events up to a MongoClient instance
  • 1882e51 Merge pull request #1516 from codeblooded/fix-gitter-badge
  • 78e8ce2 Fix gitter badge link in README.md
  • a732eab Merge pull request #1514 from bausmeier/fix-read-concern
  • 38448dd Fix types in documentation
  • 6aea4da Don't merge readConcern option
  • 6bbb8de Test passing readConcern option to connect
  • f5e2a68 changed some mock server ports to not clash

There are 25 commits in total.

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of body-parser is breaking the build 🚨

Version 1.17.2 of body-parser just got published.

Branch Build failing 🚨
Dependency body-parser
Current Version 1.17.1
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

body-parser is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ

Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details

Release Notes 1.17.2
Commits

The new version differs by 13 commits.

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of browserify is breaking the build 🚨

Version 14.4.0 of browserify just got published.

Branch Build failing 🚨
Dependency browserify
Current Version 14.3.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

browserify is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ

Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 11 commits.

  • 21af338 14.4.0
  • 4fc4b3c changelog: remove trailing whitespace
  • 94a5c03 changelog
  • f6feab7 Merge pull request #1714 from mcollina/patch-1
  • 89809c3 Merge pull request #1722 from blahah/patch-1
  • 80df2ec Document ignoreMissing option for browserify() (closes #1595)
  • 107d9bb Updated string_decoder to v1.0.0
  • 91ed9c8 Merge pull request #1713 from substack/feross-patch-1
  • d247a52 Use SVG Travis badge
  • d461420 Merge pull request #1712 from substack/feross/tests
  • de4147c test: fix testsΒ on node 0.10 that require ArrayBuffer

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of karma is breaking the build 🚨

Version 1.7.0 of karma just got published.

Branch Build failing 🚨
Dependency karma
Current Version 1.6.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

karma is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ

Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details

Release Notes v1.7.0

Bug Fixes

  • middleware: change to use vanilla for loop (ac62cc0), closes #2671
  • reporters: Revert the backwards-incompatible log priority order changes (316b944), closes #2582

Features

  • runner: Buffer stdout and stderr for output when errors occur (460d423)
Commits

The new version differs by 11 commits0.

  • 2a847c2 chore: release v1.7.0
  • 47e52e4 chore: update contributors
  • a99dc52 chore: fix lint task
  • 51b4f64 Merge pull request #2682 from wesleycho/fix/for-in
  • ac62cc0 fix(middleware): change to use vanilla for loop
  • 14b6dfd Merge pull request #2664 from LoveIsGrief/feature-karma-2663
  • 722bbbb docs: add notice about casing in exports
  • e93d1e3 Merge pull request #2676 from mgol/log-order-fixes
  • 316b944 fix(reporters): Revert the backwards-incompatible log priority order changes
  • ef62da9 test(reporters): Fix the log suppressing tests
  • 460d423 feat(runner): Buffer stdout and stderr for output when errors occur

false

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Running coursepro dev

⎨ 21:54:15⎬ ⎨ ⬑  : ⎬ ⎨ 🐍 2.7.12⎬ ⎨ ♦️ 2.3.3⎬ ⎨ ...Code/node/coursepro⎬ ⎨ ξ‚  master βœ”βŽ¬
β«Έ ./node_modules/.bin/gulp dev
fs.js:557
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^

Error: ENOENT: no such file or directory, open '/etc/coursepro/mongoDBDevelopmentPassword'
    at Object.fs.openSync (fs.js:557:18)
    at Object.fs.readFileSync (fs.js:467:33)
    at Object.<anonymous> (/Users/jea/Documents/Code/node/coursepro/backend/databases/baseDB.js:39:17)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/jea/Documents/Code/node/coursepro/backend/jasmineReporter.js:21:14)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)

No mongoDBpassword

An in-range update of monk is breaking the build 🚨

Version 4.1.0 of monk just got published.

Branch Build failing 🚨
Dependency monk
Current Version 4.0.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

monk is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ

Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details

Release Notes v4.1.0
  • Update dev dependencies - Thanks @ratson(β—•α΄₯β—•)
  • Add collection.createIndex and deprecate collection.index and collection.ensureIndex
Commits

The new version differs by 13 commits.

  • 1debd67 nicer sidebar
  • 6a316db fix docs
  • 71d5aaa rename docs
  • 72836cd add createIndex method
  • 84d13fd Merge pull request #194 from ratson/update-ava
  • 2521fa5 Update ava
  • 6157bed Merge pull request #187 from Haroenv/patch-1
  • 893d53b chore(package): add description
  • 563cd83 Merge pull request #185 from danieldiekmeier/patch-1
  • ef828e1 Remove mention of options.safe
  • 297e11a Merge pull request #183 from zhu1230/cast_id_in_doc
  • 789efcf clarify castIds doc
  • c39a8ae add castIds into doc

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of angular is breaking the build 🚨

Version 1.6.3 of angular just got published.

Branch Build failing 🚨
Dependency angular
Current Version 1.6.2
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As angular is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ


Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details
Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of deep-diff is breaking the build 🚨

Version 0.3.7 of deep-diff just got published.

Branch Build failing 🚨
Dependency deep-diff
Current Version 0.3.6
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

deep-diff is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ

Status Details - ❌ **continuous-integration/travis-ci/push** The Travis CI build failed [Details](https://travis-ci.org/ryanhugh/coursepro/builds/227590749?utm_source=github_status&utm_medium=notification)

Commits

The new version differs by 6 commits0.

  • f6f2e2a moved @sberan`s contributions to index.es.js, release 0.3.7
  • 799707a closes: issue #88, illustratiion
  • 809c1ee Merge pull request #99 from sberan/fix-undefined-compare
  • 5796c75 fix: issue #98
  • f16f633 warning, broken in typescript
  • 4ad2fc4 warning, broken in typescript

false

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of karma-chrome-launcher is breaking the build 🚨

Version 2.1.0 of karma-chrome-launcher just got published.

Branch Build failing 🚨
Dependency karma-chrome-launcher
Current Version 2.0.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

karma-chrome-launcher is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ

Status Details - ❌ **continuous-integration/travis-ci/push** The Travis CI build failed [Details](https://travis-ci.org/ryanhugh/coursepro/builds/228038860?utm_source=github_status&utm_medium=notification)

Release Notes v2.1.0

Features

  • add support for custom user-data-dir in Chromium (579fcfc), closes #89
  • add support for headless Chrome/ChromeCanary (7446181)
Commits

The new version differs by 19 commits0.

  • 2267df1 chore: release v2.1.0
  • f993c48 chore: update contributors
  • 7446181 feat: add support for headless Chrome/ChromeCanary
  • d81da0e Merge pull request #116 from maieutiquer/patch-1
  • 37513a9 clean-up irrelevant comment
  • a0235a2 Merge pull request #115 from karma-runner/greenkeeper-standard-10.0.0
  • 8987630 chore(package): update standard to version 10.0.0
  • 1e4b4ff Merge pull request #110 from karma-runner/greenkeeper-standard-9.0.2
  • 5d559e7 chore(package): update standard to version 9.0.2
  • fbe91ca Merge pull request #92 from karma-runner/greenkeeper-grunt-auto-release-0.0.7
  • 4a7efc0 chore(package): update grunt-auto-release to version 0.0.7
  • 7abf72d Merge pull request #109 from karma-runner/greenkeeper-sinon-2.0.0
  • e4d38c0 chore(package): update sinon to version 2.0.0
  • b9f9214 Merge pull request #84 from karma-runner/greenkeeper-mocha-3.2.0
  • f5c5874 Merge branch 'master' into greenkeeper-mocha-3.2.0

There are 19 commits in total.

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of domutils is breaking the build 🚨

Version 1.6.0 of domutils just got published.

Branch Build failing 🚨
Dependency domutils
Current Version 1.5.1
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

domutils is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ

Status Details - ❌ **continuous-integration/travis-ci/push** The Travis CI build failed [Details](https://travis-ci.org/ryanhugh/coursepro/builds/227465382?utm_source=github_status&utm_medium=notification)

Commits

The new version differs by 11 commits0.

  • 727d311 1.6.0
  • c305251 Fix linter error
  • dee4370 Fix order of findAll
  • f13cd75 Make findAll non-recursive to avoid stack overflows (#22)
  • 6079043 Preserve line breaks from
    tag (#27)
  • cc581ef chore(package): update mocha to version 3.2.0
  • dcf1bed chore(package): update dependencies
  • 8e0f725 Merge pull request #15 from voxpelli/patch-1
  • 5f852b3 adding license to package.json
  • 7c56fd0 added travis badge
  • 219424c add .travis.yml

false

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of fullcalendar is breaking the build 🚨

Version 3.3.0 of fullcalendar just got published.

Branch Build failing 🚨
Dependency fullcalendar
Current Version 3.2.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As fullcalendar is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ


Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Commits

The new version differs by 121 commits (ahead by 121, behind by 1).

There are 121 commits in total. See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of jasmine-core is breaking the build 🚨

Version 2.6.2 of jasmine-core just got published.

Branch Build failing 🚨
Dependency jasmine-core
Current Version 2.6.1
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

jasmine-core is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ

Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details

Release Notes 2.6.2

Please see the release notes

Commits

The new version differs by 7 commits.

  • 5d1d19f Bump version to 2.6.2
  • 4f49288 Built distribution
  • b9adc76 Clear the stack if onmessage is called before the previous invocation finishes
  • 5ac3e21 Merge branch 'interleaved-suites' of https://github.com/sgravrock/jasmine into sgravrock-interleaved-suites
  • b1e97cf Correctly route errors that occur while a QueueRunner is clearing stack
  • 8e5823c Merge branch 'sgravrock-global-errors-rethrow'
  • 10f1220 Don't mask errors that occur when no handlers are installed

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of angular is breaking the build 🚨

Version 1.6.4 of angular just got published.

Branch Build failing 🚨
Dependency angular
Current Version 1.6.3
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As angular is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ


Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details
Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of nodemailer-smtp-transport is breaking the build 🚨

Version 2.7.3 of nodemailer-smtp-transport just got published.

Branch Build failing 🚨
Dependency nodemailer-smtp-transport
Current Version 2.7.2
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As nodemailer-smtp-transport is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ


Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build failed Details
Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of require-dir is breaking the build 🚨

Version 0.3.2 of require-dir just got published.

Branch Build failing 🚨
Dependency require-dir
Current Version 0.3.1
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

require-dir is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this πŸ’ͺ

Status Details
  • ❌ continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details

Commits

The new version differs by 6 commits.

  • 1150303 Bump version to 0.3.2 and publish.
  • 10faca6 Merge pull request #46 from scragg0x/patch-1
  • 1b407ec Merge pull request #47 from scragg0x/patch-2
  • 254d5d4 test: update node version testing on travis
  • 7fca87c fix: use Object.prototype.hasOwnProperty.call
  • c316ad8 fix: use of hasOwnProperty in node version 8

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

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.