<|start_filename|>client/src/global.css<|end_filename|>
/* Fonts */
/* https://stackoverflow.com/questions/41676054/how-to-add-fonts-to-create-react-app-based-projects */

@font-face {
  font-family: 'Furore';
  src: local('Furore'), url(./assets/fonts/Furore.ttf) format('truetype');
}

@font-face {
  font-family: 'IBMPlexMono-Regular';
  src: local('IBMPlexMono-Regular'), url(./assets/fonts/IBMPlexMono-Regular.ttf) format('truetype');
}

@font-face {
  font-family: 'IBMPlexMono-Light';
  src: local('IBMPlexMono-Light'), url(./assets/fonts/IBMPlexMono-Light.ttf) format('truetype');
}

@font-face {
  font-family: 'IBMPlexMono-Bold';
  src: local('IBMPlexMono-Bold'), url(./assets/fonts/IBMPlexMono-Bold.ttf) format('truetype');
}

html,
body {
  padding: 0;
  margin: 0;
  font-family: IBMPlexMono-Regular -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

* {
  box-sizing: border-box;
}


<|start_filename|>server/Dockerfile<|end_filename|>
# Specify the image (Base Image) on which to base this image
FROM node:lts-alpine

# Create 'app' directory
# and specify it as working directory
# (RUN lets us execute commands inside of our Docker image working directory)
RUN mkdir -p /app
# (In the workingdirectory commands like 'RUN', 'CMD', .. will be executed)
# https://www.educative.io/edpresso/what-is-the-workdir-command-in-docker
WORKDIR /app

# Environment Variables
ENV APP_VERSION=v1

# Install app dependencies using yarn
# (With './' we reference the current working directory -> '/app')
COPY package.json ./
COPY yarn.lock ./
RUN yarn install

# Move required app source into the working directory referenced with './'
COPY src ./src
COPY tsconfig.json ./

# For debugging:
# Lists all the files and folder that we have copied inside the working directory.
# Note: To actually see the output of this command we need to specify the flag '--progress=plain '
RUN ls -l

# Bundle app source
RUN yarn build

# Start Container
# (CMD specifies the default command that runs when your container starts)
# https://nickjanetakis.com/blog/docker-tip-7-the-difference-between-run-and-cmd
CMD [ "yarn", "start" ]

EXPOSE 5000


<|start_filename|>client/.eslintrc.js<|end_filename|>
const OFF = 0;
const WARNING = 1;
const ERROR = 2;

module.exports = {
  extends: ['airbnb-typescript', 'prettier'],
  plugins: ['@typescript-eslint', 'prettier'],
  parser: '@typescript-eslint/parser',
  parserOptions: {
    project: ['./tsconfig.json'],
  },
  ignorePatterns: ['.eslintrc.js'], // https://stackoverflow.com/questions/63002127/parsing-error-parseroptions-project-has-been-set-for-typescript-eslint-parser
  rules: {
    '@typescript-eslint/no-use-before-define': OFF,
    '@typescript-eslint/lines-between-class-members': OFF,
    '@typescript-eslint/naming-convention': WARNING,
    '@typescript-eslint/no-unused-vars': WARNING,
    'react/prop-types': OFF,
    'react/no-array-index-key': WARNING,
    'react/require-default-props': WARNING,
    'react/jsx-props-no-spreading': WARNING,
    'react/destructuring-assignment': OFF,
    'react/jsx-no-comment-textnodes': OFF,
    'react/jsx-curly-brace-presence': WARNING,
    'import/prefer-default-export': OFF,
    'import/no-extraneous-dependencies': WARNING,
    'import/no-named-as-default': OFF,
    'no-param-reassign': WARNING,
    'no-underscore-dangle': OFF,
    'no-restricted-syntax': WARNING,
    'no-nested-ternary': WARNING,
    'no-plusplus': OFF,
    'no-bitwise': OFF,
    'import/no-cycle': WARNING,
    'jsx-a11y/click-events-have-key-events': WARNING,
    'jsx-a11y/no-static-element-interactions': WARNING,
    'spaced-comment': WARNING,
    'no-await-in-loop': WARNING,
  },
};
