Skip to content

Latest commit

 

History

History
161 lines (102 loc) · 3.97 KB

File metadata and controls

161 lines (102 loc) · 3.97 KB

Onboarding

Tools

Optional: Package Manager based on your OS

Optional: Node Version Manager

Required: Node LTS(Long-Time Support) Version (JS runtime)

Required: pnpm (JS package manager)

Backend Required: Docker

Package Manager

Mac: Homebrew

Install Homebrew (Homepage)

Windows: UniGetUi

Install UniGetUi (Homepage)

Linux: Distro default

Use the package manager bundled with your distro

You're a Linux user. You already have an opinion on this.

Why install a package manager?

A package manager gives you a central location for adding, updating, upgrading and deleting packages on your computer.

Node Version Manager

Mac and Linux: nvm

Install nvm (GitHub) with your chosen package manager.

Windows: fnm

Install fnm (GitHub) with UniGetUi

Why do I need a Node Version Manager

A Node Version Manager lets you install multiple versions of Node and easily switch between them.

Node

Install Node LTS version

nvm

nvm install --lts

fnm

fnm install --lts

Why do I need Node?

Node is a runtime for running JS programs kinda like how the JVM runs Java.

This is used to run JS on the server, which is an absolute requirement for backend, and an additional requirement for frontend where some pages might need server rendering.

Why Node LTS version?

We try to keep the Node version at the current LTS for a balance between stability and new features.

pnpm

Enable corepack

corepack enable

Install pnpm globally

corepack install -g pnpm

To update your pnpm version run:

corepack up

Why pnpm?

We use pnpm as we find it better to use than npm which comes with Node.

npm is built so every dependency is downloaded locally per project. This takes a lot of disk space when you have multiple projects on your PC.

pnpm works around this by downloading dependencies globally. This lets pnpm reuse the same dependencies with the same versions of different projects.

It is also easier to develop together when we all use the same .lock file.

If you find it annoying to have multiple JS package managers I recommend checking out Antfu's ni which automatically runs commands with the right package managers based on what lock file there is.

Docker

Install Docker Desktop (Official Docs) (GUI for Docker)

Alternatively, install Docker Engine if you don't want the GUI and would rather use the terminal

Why do I need Docker?

We use Docker to run a Postgres database for local development.

Docker is only needed for backend api development

TODO: Apps & Websites

TODO: GitHub

TODO: Linear

TODO: Vektor email & nettside konto

TODO: Slack