Skip to content

Contributing Guidelines

Harsh Deep edited this page Jun 2, 2024 · 26 revisions

Contributions are welcome, whether new core features, effects, bug fixes or examples. Please follow these guidelines.

Note: If you are new to Git, the git-scm website is a good place to start with a popular online book, Getting Started videos and cheat sheets. The following guidelines assume you are already familiar with Git.

Workflow

All contributions should be based on the latest staging branch. You must submit your pull request to staging branch and request an admin for reviewing.

  • Pick an issue from FrontEnd/issues, and assign that issue to yourself.
  • Create a separate branch from the latest staging for your picked issue, or fork the staging branch to your repos.
  • Regularly pull from the staging branch to get the latest version of frontend. and please run yarn install each time when pulling from staging branch.
  • Please use yarn lint:fix or yarn lint:fix:quiet each time before submit your commit (see more in Commands).
  • In your pull request description, use one of GitHub's PR keywords to connect your PR with its corresponding issue.
    • For example, if your PR fixes issue #23, include the phrase "Fixes #23" anywhere in your PR description. Then when your PR gets merged, GitHub will automatically close issue #23.
  • (Optional) To make your commits clearer, you can follow the Angular Git Commit Guidelines format.
  • Any copied assets (e.g. images, shaders or code) should have the appropriate license and credit allowing for their use in this repository.

Commands

This list might not be updated, you should run yarn run to see all scripts.

yarn start                 // run the app

yarn build                 // build everything

yarn lint                  // lint once
yarn lint:quiet            // This option allows you to disable reporting on warnings. If you enable this option, only errors are reported by ESLint.

yarn lint:fix              // lint and attempt to fix
yarn lint:fix:quiet        // This option allows you to disable reporting on warnings. If you enable this option, only errors are reported by ESLint.

Coding Style

  • Follow this code style guideline, airbnb/javascript, to write your Javascript code. Make sure your code is clean and readable.
  • Although the propTypes for the React Components is not required, it will be added gradually in the future for all existing components in FrontEnd. So please start to learn about type-checking with propTypes add it to your components.
  • Use yarn lint or yarn lint:fix to check your styles.
  • Use sass/scss file for styling your components. It's smaller and faster.
  • Follow the Web Content Accessibility Guidelines (WCAG) to label/mark your tags, making your web components more accessible.

Branches

staging is our development branch. All commits should go there. This is automatically deployed (via docker images sent to dockerhub) to ct-dev (about once an hour).

main is "real" production - seen by students and classes. New images built from main branch are also sent to dockerhub. These are picked up classtranscribe.illinois.edu every hour.