# Welcome to Team Awesome

Welcome to Team Awesome. Glad you decided to join us.
Here are a few things to help get you started.

# Setup your computer

We give you the freedom to set the computer up the way you like it. Feel free to customize as much as you need, but here are a few items that you will need and a few that we recommend.

# Programs (Required)

# Programs (Optional)

# Command Line Tools (Required)

# Setup your email

We use google apps for email. We will create an email for you and a temporary password for you. Once you login you should be able to reset password, and store it in 1 Password. After that, feel free to use any email client you are comforatable with, or even just the browser version of Gmail.

# Google Suite

We use Google Suite for our email, calendar and documents.

If you need to contact everyone in the company, we have an alias setup that you can email, teamawesome@14four.com

# Internal Network

We have an internal network that is used for a couple of tasks, most notably your login to 14Four Status (see below).

# Google Apps

All of our email, calenders, and documents are ran through google apps. There is a shared team drive that has a bunch of documents that relate to all of the client projects, most of which will be referenced through Basecamp.

# Basecamp

We use basecamp for managing all our projects internally, and it integrates with our time tracking system, so you will want to make sure your account is setup before getting setup on 14Four Status.
https://basecamp.com/ (opens new window)

# Clockify

We have use tool called Clockify for tracking time and scheduling projects. When tracking time, we aren't looking to account for every hour of your day, but rather to account for all billable hours you are working on a project.
https://clockify.me/login (opens new window)

# Bitbucket

We use bitbucket for our version control platform. We prefer to work with ssh rather than https, so you will want to make sure to generate a a key once your account is setup.
https://bitbucket.org/ (opens new window)

# Docker Hub

You will need to sign-up for an account to download docker, and have access to all the docker images.
https://www.docker.com/get-started (opens new window)

# ArtGit (Optional)

When we are doing the design and development on a project with a lot of back and forth, we will use a git repository for storing the assets. It uses Git LFS for the big files, so you will need to have Git LFS (opens new window) installed.
https://artgit.14four.com/ (opens new window)

# Set up Docker

Here is a walk through for getting Docker Hub and Docker Desktop set-up.

  1. Go to https://hub.docker.com/signup (opens new window) and create an account with your 14Four email.
  2. Download the Docker Desktop Application to your local machine.
  3. Set up your very own dev domain:
    • In the Office, we will set one up for you that will look something like: FirstNamedev.14Four.com.
    • At Home, if you're on a Mac, you can use dnsmasq (opens new window) to set one up.
  4. Pull the 14Four Dev Proxy (opens new window) from Bitbucket and get it up and running in Docker. The README.md will walk you through this step.
  5. At this Point, Initialization varies depending on the project. All projects have a docker-compose.yaml file with information on how the project is set-up, and a Makefile with all the commands used to get docker up and running for the specific project.
  6. Cross your fingers that everything goes as planned. If you run into any problems, look at the below troubleshooting section, or ask a fellow dev for some help.

# Troubleshooting with Docker

# Docker Build “Cannot Copy to non-Directory” Issue

If you are using MacOS or Windows and run into an issue with Docker Builds where it says something along the lines of “cannot copy to non-directory” Try Running the below and attempting to build again.

export DOCKER_BUILDKIT=0
export COMPOSE_DOCKER_CLI_BUILD=0

# Resetting your Database

run docker volume ls

  • Find the one you are looking for related to the project, without efs
  • Then run docker volume rm THENAMEHERE
  • Restart the database container

# If You Sign into traefik and Your Dev Domain is Missing…

You need to add that environment variable to that session.

# For Windows

$env:DEV_DOMAIN = 'somedev.14four.com

# For Mac
  • Navigate to your hidden .bashrc file or .zshrc file
    • To show hidden files in your finder press and hold command, shift, period.
  • Add export DEV_DOMAIN=somedev.14four.com and then save the file.

# Is Docker Yelling at You?

If docker is yelling at you saying “There is no space left of the device, cannot create container for service queue” You need to clean up your docker volumes.

docker volume prune will remove all unused volumes (be careful when doing this, make sure you do not remove things you still need.)

# Other Tips

  • Don’t forget to add your .env file to the necessary directories. Credentials if needed are typically in 1password.
  • Many times, you will need to re-build docker after importing a new database.
  • Don’t forget to run make install after installing new npm packages.
  • On windows, if the make command is not available for whatever reason, run the same command underneath the make command that's in the Makefile, and it will typically work as intended.
  • If you see a green login pop up, especially on windows. There is a connection problem with your dev domain and a firewall of some kind. Try using http vs. https and make sure the domain is added to the host file.
  • Try to avoid Docker on Windows at all costs.

Docker Basics: https://www.youtube.com/watch?v=iqqDU2crIEQ&t=1002s (opens new window)

# Setup your Visual Studio Code

Here are a list of extensions that will help with all of your development needs.

# Frontend

# Backend

# Miscellaneous

# Language Specific

# Contributing to Wiki

If you have an update that you would like to make to the wiki, you can do so by pulling the repo from our Bitbucket; the repo's name is 14four Wiki. The wiki utilizes Vuepress, which you can learn more about here (opens new window).

The wiki is hosted on still. Once you have a build ready to go live, you can follow the process for updating a still site to launch the wiki.

NOTE!

Please make all updates in the develop branch. When you are ready to deploy, have someone check your work. Once you've done so, then you can merge into master and build.