Skip to content

Latest commit

 

History

History
174 lines (127 loc) · 4.64 KB

CONTRIBUTING.md

File metadata and controls

174 lines (127 loc) · 4.64 KB

Contributing Guidelines

We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:

  • Reporting a bug
  • Discussing the current state of the code
  • Submitting a fix
  • Proposing new features
  • Becoming a maintainer

We Develop with Github

We use github to host code, to track issues and feature requests, as well as accept pull requests.

We Use Github Flow, So All Code Changes Happen Through Pull Requests

Pull requests are the best way to propose changes to the codebase (we use Github Flow). We actively welcome your pull requests.

This project has 2 branches:

  • main -- This is the default branch of the project but we recommend you not to create a PR on this branch because it always has tested and completely bug-free code.

  • dev -- If you want to work on the website, you may create a PR to this branch. Just make sure you regularly keep this branch updated in your fork.

Note: Head here if you're looking for instructions on setting up with Docker. (recommended for beginners)

Contributing to Frontend

The frontend is made using Create React App.

  1. Fork this repository

  2. Clone it on your local machine through git:

git clone https://github.com/<YOURNAME>/CoviSource.git
cd CoviSource

or through GitHub CLI (recommended):

gh repo <YOURNAME>/CoviSource
cd CoviSource
  1. Make sure you're on dev branch:
git checkout dev
  1. Create a new branch for your feature/update:
git branch example-feature
git checkout example-feature
  1. Issue the following commands in the root directory of the project (i.e. CoviSource/):
cd client
yarn install
yarn start
  1. Make changes and push it to your fork, and create a PR on dev branch of this repo.

Contributing to Backend

The backend for this project is made using TypeScript, PostgreSQL, GraphQL, Redis, Apollo and other libraries.

Note: Head here if you're looking for instructions on setting up with Docker. (recommended for beginners)

  1. Fork this repository

  2. Clone it on your local machine through git:

git clone https://github.com/<YOURNAME>/CoviSource.git
cd CoviSource

or through GitHub CLI (recommended):

gh repo <YOURNAME>/CoviSource
cd CoviSource
  1. Make sure you're on dev branch:
git checkout dev
  1. Create a new branch for your feature/update:
git branch example-feature
git checkout example-feature
  1. Create a Postgres Database named covisourcetestdb (Install postgres on Windows through Chocolatey and on Mac through Homebrew)
createdb covisourcetestdb
  1. Copy the contents of /server/.env.dev to /server/.env (Make a new .env file. Do NOT delete .env.dev)

  2. Issue the following commands in the root directory of the project:

yarn install
yarn watch
  1. Let yarn watch run in background. Open a new terminal and issue:
yarn dev
  1. Make changes and push it to your fork, and create a PR on dev branch of this repo.

Setting up with Docker

It is assumed that you have Docker setup and running on your local machine. If not, check out how to install Docker?

  1. Fork this repository

  2. Clone it on your local machine through git:

git clone https://github.com/<YOURNAME>/CoviSource.git
cd CoviSource

or through GitHub CLI (recommended):

gh repo <YOURNAME>/CoviSource
cd CoviSource
  1. Go to client and install dependencies
cd client
yarn
  1. For Linux and macOS (Darwin), issue the command:
cd ..
make

For Windows, issue the command:

cd ..
docker-compose up

This should get everything setup and running.

  1. Once, all the containers are up and running, open http://localhost:3000 on your browser.

Any contributions you make will be under the MIT Software License

In short, when you submit code changes, your submissions are understood to be under the same MIT License that covers the project. Feel free to contact the maintainers if that's a concern.

Report bugs using Github's issues

We use GitHub issues to track public bugs. Report a bug by opening a new issue; it's that easy!