Download the following to get started programming
.env file. refer to
.env copy. put in your mongo_uri in there.
- Jest / SuperTest (for testing suite)
- Express (web server for REST API)
- adds static typing
- adds signatures to the functions directly
- Cheerio (for web scraping). Works like jQuery
Quick guide of how the API is coded
src/models/pages/ contains interfaces of all data that can be found on the various pages within the ssc scheduler.
src/util/scraper/ contains the website scraping logic that turns the website into the typescript interfaces specified in
src/util/CourseScraper.ts is an abstraction that uses these scraper classes to turn the obtained data into usable
tests/ contains unit tests
tests/routes.test.ts tests our endpoints
to test, and for a coverage report run