├── .babelrc ├── .editorconfig ├── .env.example ├── .eslintrc.js ├── .gitignore ├── .htaccess ├── .nvmrc ├── .travis.yml ├── LICENSE-MIT ├── README.md ├── __mocks__ ├── .eslintrc.js ├── bunyan.js ├── fixtures │ ├── examData1.json │ ├── examData2.json │ ├── test1.pdf │ └── test2.pdf └── fs-extra.js ├── config.js ├── gulp-tasks ├── index.js ├── local │ ├── consolidateForSem.js │ ├── consolidateForYear.js │ ├── genReqTree │ │ ├── constants.js │ │ ├── index.js │ │ ├── normalizeString.js │ │ ├── normalizeString.test.js │ │ ├── parse+normalize.test.js │ │ ├── parseString.js │ │ └── parseString.test.js │ ├── mergeCorsBiddingStats.js │ ├── splitForSem.js │ └── splitForYear.js ├── remote │ ├── __snapshots__ │ │ └── examTimetable.test.js.snap │ ├── bulletinModules.js │ ├── cors.js │ ├── corsBiddingStats.js │ ├── examTimetable.js │ ├── examTimetable.test.js │ ├── ivle.js │ ├── moduleTimetableDelta.js │ └── venues.js └── utils │ ├── __snapshots__ │ └── timify.test.js.snap │ ├── gotCached.js │ ├── iterateSems.js │ ├── mergeModuleFields.js │ ├── mergeModuleFields.test.js │ ├── pdf.js │ ├── pdf.test.js │ ├── sortByKey.js │ ├── sortByKey.test.js │ ├── timify.js │ ├── timify.test.js │ └── titleize.js ├── gulpfile.babel.js ├── jest.config.js ├── jsonp.php ├── knexfile.js ├── migrations └── 20170101000000_initial.js ├── package.json ├── seeds └── schools.js ├── src ├── db.js ├── graphql │ ├── __snapshots__ │ │ └── index.test.js.snap │ ├── index.js │ ├── index.test.js │ └── jsonData.js ├── index.js ├── middleware │ ├── error.js │ └── request.js ├── scrapers │ ├── BaseTask.js │ ├── BaseTask.test.js │ ├── HttpService.js │ ├── HttpService.test.js │ ├── VenuesScraper.js │ └── VenuesScraper.test.js └── util │ ├── log.js │ ├── mapKeysDeep.js │ ├── mapKeysDeep.test.js │ ├── walkDir.js │ └── walkDir.test.js ├── webpack.config.babel.js └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/.babelrc -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/.editorconfig -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/.gitignore -------------------------------------------------------------------------------- /.htaccess: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/.htaccess -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 8 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/README.md -------------------------------------------------------------------------------- /__mocks__/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/__mocks__/.eslintrc.js -------------------------------------------------------------------------------- /__mocks__/bunyan.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/__mocks__/bunyan.js -------------------------------------------------------------------------------- /__mocks__/fixtures/examData1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/__mocks__/fixtures/examData1.json -------------------------------------------------------------------------------- /__mocks__/fixtures/examData2.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/__mocks__/fixtures/examData2.json -------------------------------------------------------------------------------- /__mocks__/fixtures/test1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/__mocks__/fixtures/test1.pdf -------------------------------------------------------------------------------- /__mocks__/fixtures/test2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/__mocks__/fixtures/test2.pdf -------------------------------------------------------------------------------- /__mocks__/fs-extra.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/__mocks__/fs-extra.js -------------------------------------------------------------------------------- /config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/config.js -------------------------------------------------------------------------------- /gulp-tasks/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/index.js -------------------------------------------------------------------------------- /gulp-tasks/local/consolidateForSem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/local/consolidateForSem.js -------------------------------------------------------------------------------- /gulp-tasks/local/consolidateForYear.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/local/consolidateForYear.js -------------------------------------------------------------------------------- /gulp-tasks/local/genReqTree/constants.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/local/genReqTree/constants.js -------------------------------------------------------------------------------- /gulp-tasks/local/genReqTree/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/local/genReqTree/index.js -------------------------------------------------------------------------------- /gulp-tasks/local/genReqTree/normalizeString.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/local/genReqTree/normalizeString.js -------------------------------------------------------------------------------- /gulp-tasks/local/genReqTree/normalizeString.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/local/genReqTree/normalizeString.test.js -------------------------------------------------------------------------------- /gulp-tasks/local/genReqTree/parse+normalize.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/local/genReqTree/parse+normalize.test.js -------------------------------------------------------------------------------- /gulp-tasks/local/genReqTree/parseString.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/local/genReqTree/parseString.js -------------------------------------------------------------------------------- /gulp-tasks/local/genReqTree/parseString.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/local/genReqTree/parseString.test.js -------------------------------------------------------------------------------- /gulp-tasks/local/mergeCorsBiddingStats.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/local/mergeCorsBiddingStats.js -------------------------------------------------------------------------------- /gulp-tasks/local/splitForSem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/local/splitForSem.js -------------------------------------------------------------------------------- /gulp-tasks/local/splitForYear.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/local/splitForYear.js -------------------------------------------------------------------------------- /gulp-tasks/remote/__snapshots__/examTimetable.test.js.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/remote/__snapshots__/examTimetable.test.js.snap -------------------------------------------------------------------------------- /gulp-tasks/remote/bulletinModules.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/remote/bulletinModules.js -------------------------------------------------------------------------------- /gulp-tasks/remote/cors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/remote/cors.js -------------------------------------------------------------------------------- /gulp-tasks/remote/corsBiddingStats.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/remote/corsBiddingStats.js -------------------------------------------------------------------------------- /gulp-tasks/remote/examTimetable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/remote/examTimetable.js -------------------------------------------------------------------------------- /gulp-tasks/remote/examTimetable.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/remote/examTimetable.test.js -------------------------------------------------------------------------------- /gulp-tasks/remote/ivle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/remote/ivle.js -------------------------------------------------------------------------------- /gulp-tasks/remote/moduleTimetableDelta.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/remote/moduleTimetableDelta.js -------------------------------------------------------------------------------- /gulp-tasks/remote/venues.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/remote/venues.js -------------------------------------------------------------------------------- /gulp-tasks/utils/__snapshots__/timify.test.js.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/utils/__snapshots__/timify.test.js.snap -------------------------------------------------------------------------------- /gulp-tasks/utils/gotCached.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/utils/gotCached.js -------------------------------------------------------------------------------- /gulp-tasks/utils/iterateSems.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/utils/iterateSems.js -------------------------------------------------------------------------------- /gulp-tasks/utils/mergeModuleFields.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/utils/mergeModuleFields.js -------------------------------------------------------------------------------- /gulp-tasks/utils/mergeModuleFields.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/utils/mergeModuleFields.test.js -------------------------------------------------------------------------------- /gulp-tasks/utils/pdf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/utils/pdf.js -------------------------------------------------------------------------------- /gulp-tasks/utils/pdf.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/utils/pdf.test.js -------------------------------------------------------------------------------- /gulp-tasks/utils/sortByKey.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/utils/sortByKey.js -------------------------------------------------------------------------------- /gulp-tasks/utils/sortByKey.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/utils/sortByKey.test.js -------------------------------------------------------------------------------- /gulp-tasks/utils/timify.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/utils/timify.js -------------------------------------------------------------------------------- /gulp-tasks/utils/timify.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/utils/timify.test.js -------------------------------------------------------------------------------- /gulp-tasks/utils/titleize.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulp-tasks/utils/titleize.js -------------------------------------------------------------------------------- /gulpfile.babel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/gulpfile.babel.js -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/jest.config.js -------------------------------------------------------------------------------- /jsonp.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/jsonp.php -------------------------------------------------------------------------------- /knexfile.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/knexfile.js -------------------------------------------------------------------------------- /migrations/20170101000000_initial.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/migrations/20170101000000_initial.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/package.json -------------------------------------------------------------------------------- /seeds/schools.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/seeds/schools.js -------------------------------------------------------------------------------- /src/db.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/db.js -------------------------------------------------------------------------------- /src/graphql/__snapshots__/index.test.js.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/graphql/__snapshots__/index.test.js.snap -------------------------------------------------------------------------------- /src/graphql/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/graphql/index.js -------------------------------------------------------------------------------- /src/graphql/index.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/graphql/index.test.js -------------------------------------------------------------------------------- /src/graphql/jsonData.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/graphql/jsonData.js -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/index.js -------------------------------------------------------------------------------- /src/middleware/error.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/middleware/error.js -------------------------------------------------------------------------------- /src/middleware/request.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/middleware/request.js -------------------------------------------------------------------------------- /src/scrapers/BaseTask.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/scrapers/BaseTask.js -------------------------------------------------------------------------------- /src/scrapers/BaseTask.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/scrapers/BaseTask.test.js -------------------------------------------------------------------------------- /src/scrapers/HttpService.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/scrapers/HttpService.js -------------------------------------------------------------------------------- /src/scrapers/HttpService.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/scrapers/HttpService.test.js -------------------------------------------------------------------------------- /src/scrapers/VenuesScraper.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/scrapers/VenuesScraper.js -------------------------------------------------------------------------------- /src/scrapers/VenuesScraper.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/scrapers/VenuesScraper.test.js -------------------------------------------------------------------------------- /src/util/log.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/util/log.js -------------------------------------------------------------------------------- /src/util/mapKeysDeep.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/util/mapKeysDeep.js -------------------------------------------------------------------------------- /src/util/mapKeysDeep.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/util/mapKeysDeep.test.js -------------------------------------------------------------------------------- /src/util/walkDir.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/util/walkDir.js -------------------------------------------------------------------------------- /src/util/walkDir.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/src/util/walkDir.test.js -------------------------------------------------------------------------------- /webpack.config.babel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/webpack.config.babel.js -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nusmodifications/nusmods-api/HEAD/yarn.lock --------------------------------------------------------------------------------