This repository contains starter code for the class project. Please keep your repository private.
For information about the project, autotest, and the checkpoints, see the course webpage.
To start using this project, you need to get your development environment configured so that you can build and execute the code. To do this, follow these steps; the specifics of each step will vary based on your operating system:
-
Install git (v2.X). You should be able to execute
git --versionon the command line after installation is complete. -
Install Node LTS (LTS: v18.X), which will also install NPM (you should be able to execute
node --versionandnpm --versionon the command line). -
Install Yarn (1.22.X). You should be able to execute
yarn --version. -
Clone your repository by running
git clone REPO_URLfrom the command line. You can get the REPO_URL by clicking on the green button on your project repository page on GitHub. Note that due to new department changes you can no longer access private git resources using https and a username and password. You will need to use either an access token or SSH.
Once your environment is configured you need to further prepare the project's tooling and dependencies. In the project folder:
-
yarn installto download the packages specified in your project's package.json to the node_modules directory. -
yarn buildto compile your project. You must run this command after making changes to your TypeScript files. If it does not build locally, AutoTest will not be able to build it. This will also run formatting and linting, so make sure to fix those errors too! -
yarn testto run the test suite.- To run with coverage, run
yarn cover
- To run with coverage, run
-
yarn prettier:fixto format your project code. -
yarn lint:checkto see lint errors in your project code. You may be able to fix some of them using theyarn lint:fixcommand.
If you are curious, some of these commands are actually shortcuts defined in package.json -> scripts.
IntelliJ Ultimate should be automatically configured the first time you open the project (IntelliJ Ultimate is a free download through the JetBrains student program).
While the readings for this course are licensed using CC-by-SA, checkpoint descriptions and implementations are considered private materials. Please do not post or share your project solutions. We go to considerable lengths to make the project an interesting and useful learning experience for this course. This is a great deal of work, and while future students may be tempted by your solutions, posting them does not do them any real favours. Please be considerate with these private materials and not pass them along to others, make your repos public, or post them to other sites online.