Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Install Docker

    1. Download Docker Desktop for your OS and install it following the default steps (there are a few weird steps for Windows so make sure to do those).

    2. After installation, restart your computer if required.

  2. .env setup

    Navigate

    Once Docker is setup go to the

    src/backend directory in the repo and run one of the two commands below based on your OS
    1. [Mac] echo "DATABASE_URL=\"postgresql://postgres:docker@localhost:5432/nerpm?schema=public\"" >> .env

    2. [Windows] ni .env then Set-Content -Path .env 'DATABASE_URL="postgresql://postgres:docker@localhost:5432/nerpm?schema=public"'

  3. Run the following two commands in your CLI (note - if you are already running Postgres from the old manual installation, you must stop it first):

    1. docker run --name finishline -e POSTGRES_PASSWORD=docker -p 5432:5432 -d postgres

    2. docker exec -ti finishline psql -U postgres -c "CREATE DATABASE nerpm;"

  4. root directory of FinishLine and run yarn database:setup

  5. Go to your Docker desktop app and the container you just made should appear. If it says “running”, then everything is working!

...

  1. To test that things are working, run yarn install and then yarn start in the CLI (in the root directory) and go to an example API route. Example: localhost:3001/users.

    1. Then go to localhost:3000 to see the dashboard (if it does not launch automatically)! Feel free to take a look around!

  2. IDE: VSCode

    1. We use VSCode at NER. You can use something else, but we won’t be able to help you if you have problems. VSCode is pretty industry standard though, so it’s very good to know.

    2. Click File > Open Folder then navigate to the repo and open it

    3. There should be a popup in the bottom right asking you if you want to install the recommended extensions. Click install.

      1. If for some reason this doesn’t show up, the following are the mandatory VSCode extensions. You can install them manually by clicking the extensions tab on the left (it looks like building blocks) and searching for them:

        1. Jest (orta.vscode-jest)

        2. Prisma (prisma.prisma)

        3. ESLint (dbaeumer.vscode-eslint)

        4. Prettier (esbenp.prettier-vscode)

      2. And the optional ones (for a better experience):

        1. Babel (mgmcdermott.vscode-language-babel)

        2. Material Icon Theme (pkief.material-icon-theme)

  3. Congrats!

    1. You now (theoretically) have a functioning environment! Congratulations! If not, please look at the FAQ page, and if that doesn’t help, look for further help in the #software_env-setup slack channel (more info down below). Once again, here is the link to the repo (and here is the link to the outdated repo which still holds a lot of useful information).

What Now?

...

    1. )

...

Join the Slack!

At NER, we utilize Slack for communication. We ask that you download Slack on both your phone and computer to be able to reliably view and respond to any communication. Here is a quick start guide for Slack (on desktop). Most of the information in this should translate over to mobile. Please note that notifications may be off by default, so please ensure that they are turned on. After this, go through the channels that exist in the Slack and join any relevant channels (#software, #software_env-setup, and #software_pr-review for starters). Additionally, try to avoid DMing people (unless it’s a personal issue). Keeping communications public is better because someone probably will have the same question as you and it keeps everyone up to date. It also allows more than one person to help you.

Organization & Leads

Now who should you ask for issues?

Our Product Team exists as a wonderful resource for all developers on the Software Solutions team. Product Analysts, Product Managers, and our Head hold key business facing information for all parts of our application, and are a great resource to go to if you have non-technical questions. Make sure to reach out to relevant analysts, PMs, or even Peyton first before reaching out to others for these questions in case they can answer your questions.

...

    1. .