Skip to content

Setup: Prerequisites & Dependencies

Michael Mehall edited this page Nov 18, 2024 · 2 revisions

This setup guide tries its best not to assume people have background knowledge, and provides basic setup instructions.

Terminal

To work on this project, you'll need a UNIX-based terminal. Mac/Linux users already have this. Windows users should activate WSL, the Windows Subsystem for Linux.

WSL installation instructions. Also make sure to upgrade to version 2.

Docker

  • Install Docker Desktop. The desktop experience allows for easier use, though only the CLI is strictly necessary.
  • Ensure that docker compose was installed - run docker compose --help in your terminal to check
    • If using Windows, ensure that WSL2 integration is enabled (WSL integration)

Source code

  • Clone the repo: git clone https://github.com/sandboxnu/course-catalog-api
  • Change into the repo directory: cd ./course-catalog-api

Fast Node Manager (fnm)

FNM manages Node versions on our machine. Different projects throughout Sandbox use different Node versions, and FNM makes it easier to switch between them.

  • Install FNM following the docs for your system in the README.
  • Switch Node versions: fnm use
    • There is a file called .nvmrc in the repository, which tells fnm which version to use

Yarn

Yarn is our package manager - we use it to manage dependencies and run scripts.

  • Run corepack enable to enable Corepack, a utility in Node that manages package managers.
  • Run yarn --version. Corepack will ask if may download Yarn, type Y and press enter.

Github notifications

To make sure that our code gets reviewed promptly, we'll enable Scheduled Reminders for Github.

You can follow the instructions here on Github's documentation site.

Whenever you get assigned as a reviewer for a teammate's code, you'll be notified on Slack. Don't worry if these terms aren't familiar yet!