Landing page: | lighthouse-api.org |
Main source code: | app.js |
lighthouse-api
is a queryable REST API, implemented using Node.js and MongoDB. It provides a number of endpoints which return all the data from the National Research Council's 2006 study (revised in 2011) of over 5000 PhD programs in the United States. The data is returned in JSON format.
You can either query the data directly, build a GUI (e.g. a iOS app or a search engine in the form of a website) that consumes these endpoints, or you can even mirror this service and modify it to fit your needs as you see fit. The search engine philphd.org, for example, uses a part of this dataset.
Technical note for the technically curious: In addition to Node.js, I used Express.js; but not express-generator.
http://104.236.148.49:3000/nrc/diversity. (If you use chrome with a json formatter extension added, the returned JSON will look much more readable.)
$ curl http://104.236.148.49:3000/nrc/diversity
GET /nrc/dataNotUsedInRankings
GET /nrc/diversity
GET /nrc/emergingFields
GET /nrc/generalInformation
GET /nrc/otherOverallRankingMeasures
GET /nrc/rankings
GET /nrc/researchActivity
GET /nrc/studentActivities
GET /nrc/studentSupportAndOutcomes
GET /nrc/timeToDegree # this is a subset of `GET /nrc/studentSupportAndOutcomes`
If you want to clone this repo and run this api server yourself, then you might find HelpfulHowtos.md useful. You can then also run mocha acceptance tests like so:
$ npm test
This is, in fact, what I have TravisCI do on my behalf. If you run the acceptance tests yourself, then it might look like so:
See Issue #3.