Skip to content

Latest commit

 

History

History
58 lines (35 loc) · 3.32 KB

CONTRIBUTING.md

File metadata and controls

58 lines (35 loc) · 3.32 KB

Contributing

Hi there! This document outlines some rules for contributing to the site.

What to fix

There is a lot that still needs to be improved, ranging from implementing more data structures and algorithms, making slight modifications to existing ones, bug fixing, updating the UI and making general improvements. Whatever your interest in web development is, you can probably improve your skills by contributing in that regard!

For more details on what needs to be done, check out the Issues tab.

Structure

The site was created using create-react-app application. It also uses Single Page Apps for GitHub Pages for compatibility with GitHub Pages.

src/algo/ contains data structure/algorithm-specific scripts

src/anim/ contains the base animation API

src/screens/ contains the top-level screens (the homepage, the algorithm screen)

Animation API

The animation API is very well documented here. However, some changes have been made to it as part of the conversion to ES6, so existing JavaScript files are also a good reference for learning how to do things. All functions can be found in AnimationMain.js.

Dev Environment Setup

This repository requires node/npm installed. We recommend using the LTS version of Node (16.17.1) or earlier, as version 17+ uses an incompatible version of openSSL.

We recommend VSCode with extensions for ESLint and Prettier installed. We also recommend turning on "format on save" (editor.formatOnSave) to handle automatic prettier formatting.

Getting Started

This repository requires node/npm

  1. Fork the repository
  2. Clone the fork of the repository
  3. cd into the project directory
  4. npm install to install necessary dependencies
  5. npm run start to start local version of the app
  6. The site should be locally accessible from localhost:3000

Submitting a PR

Before creating a pull request, please ensure your code passes ESLint and Prettier by running the following commands:

  • npm run lint
  • npm run prettier

Also ensure that the only committed changes are in files relevant to the PR. Do not push changes to package-lock.json, node_modules or anything else that is unrelated to your ticket!

To make a PR:

  1. Create a new pull request
  2. Click “Compare across forks”
  3. Base repo should be RodrigoDLPontes/master and head repo should be the relevant branch on your fork
  4. Name the PR something simple and descriptive
  5. In the description, make sure to reference the issue you worked on (such as “closes #155”, “addresses #150”, etc)
  6. Add anything else to the description that you think makes your changes more understandable