Please note we have a code of conduct, please follow it in all your interactions with the project.
- You can contribute to this project by either creating an issue or by checking out the open issues available.
- Create a new issue
- Comment on the issue (if you'd like to be assigned to it) - that way the issue can be assigned to you.
- Go to open issues
- select an issue of your choice that is
open
orneed help
or isup-for-grabs
and is not assigned. - Comment on the issue (if you'd like to be assigned to it) - that way the issue can be assigned to you.
- If you're not sure, here's how to fork the repo
If you're ready to contribute and create your PR, it will help to set up a local environment so you can see your changes.
-
Set up your development environment
- install your favorite text editor/IDE
- install Nodejs
-
Clone your fork
If this is your first time forking our repo, this is all you need to do for this step:
git clone git@github.com:[your_github_handle]/reactdevske-website.git && cd reactdevske-website
Make sure you checkout the develop
branch by running the command git checkout develop
If you've already forked the repo and created the develop branch, you'll want to ensure your fork and your develop branch is configured and that it's up to date. This will save you the headache of potential merge conflicts.
$ git remote add upstream https://github.com/reactdeveloperske/reactdevske-website.git
To sync your fork and branch with the latest changes:
git checkout develop
git fetch upstream
git merge upstream/develop
- Install dependencies
We use npm to manage dependencies. To install all dependencies, run:
npm install
- Create new branch for your changes
git checkout -b new_branch_name
- start development server
npm run dev
You may have noticed some error about providing a form key. This is because we use Formspree to handle our contact form. To get around this, you can:
- Use your own Formspree account and set the
FORMSPREE_KEY
environment variable to your key. (refer to the .env.example file for guidance on where to put your formspee key).
You may have also noticed a second error about missing required parameters: sitekey. This is because we use reCAPTCHA to prevent spam. To get around this, you can:
- Use your own reCAPTCHA account and set the
RECAPTCHA_SITE_KEY
environment variable to your keys. (refer to the .env.example file for guidance on where to put your recaptcha site key).
Both of these changes will require you to create a .env
file in the root directory of the project. You can copy the contents of the .env.example
file and paste them into the .env
file. Then, you can add your keys to the appropriate variables.
- Make changes to the codebase
- Open this directory in your favorite text editor / IDE, and see your changes live by visiting
localhost:3000
from your browser - Pro Tip: Explore scripts within
package.json
for more build options - Pro Tip: Use Prettier to format your code before committing by running
npm run prettier:check
andnpm run prettier:format
to check and fix formatting issues
- Add changes made to the repo addressing an issue
git add [file_name]
- Commit and prepare for pull request (PR). In your PR commit message, reference the issue it resolves (see how to link a commit message to an issue using a keyword.
git commit -m "brief description of changes [Fixes #1234]"
- Push to your GitHub account
git push -u origin [feature_branch]
- After your changes are commited to your GitHub fork, submit a pull request (PR) to the
develop
branch of thereactdeveloperske/reactdevske-website
repo - In your PR description, reference the issue it resolves (see linking a pull request to an issue using a keyword)
- ex.
Updates out of date content [Fixes #1234]
- ex.
- We'll review your PR as soon as possible
- We may suggest some changes or improvements or alternatives.