Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create CONTRIBUTING.md #204

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ steps:
image: plugins/docker
settings:
repo: josaorg/community-web
build_args:
[
COMMUNITY_API_URL=https://community.api.prod.josa.ngo/v2,
TARGET_ENV=production,
]
thamudi marked this conversation as resolved.
Show resolved Hide resolved
build_args_from_env:
[
DRONE_BUILD_NUMBER,
Expand Down
62 changes: 62 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
## Contributing to JOSA.community

Thank you for your interest in contributing to our project! We welcome your help and appreciate your support.
To ensure a smooth and collaborative process, please take a moment to review this contributing guide.

## Code or Documentation Contributions

1. [Fork this repository](https://github.com/jordanopensource/community-web/fork).
2. Clone the forked repository to your local machine with this command:
`git clone https://github.com/<your github username>/community-web.git`
3. Switch to `development` branch with this command: `git checkout development`.
**If your contribution is a documentation, jump to step 7 below**.
4. (**_You can ignore this step if you're using docker compose_**) Create a `.env` file and copy the content of [`.env.sample`](https://github.com/jordanopensource/community-web/blob/development/.env.sample) file into it,
then add the value(s) of environment variable(s).
You can use the current running API URL as the value to `NUXT_PUBLIC_COMMUNITY_API_URL` variable as the following:
`NUXT_PUBLIC_COMMUNITY_API_URL=https://community.api.prod.josa.ngo/v2`.
(_other environment variables are optional_).

5. [Run the project locally](https://github.com/jordanopensource/community-web/blob/main/CONTRIBUTING.md#running-the-project-locally).
6. Check current [issues](https://github.com/jordanopensource/community-web/issues),
and if you're a beginner, you can [filter issues with `good first issues` label](https://github.com/jordanopensource/contributions-web/issues?q=is%3Aopen+is%3Aissue+label%3Ahacktoberfest+label%3A%22good+first+issue%22).
If you decide to work on one of the issues, write a comment on the issue asking to be assigned to it.
_Do not work on issues that you're not assigned to in order to avoid duplicate work_.
7. Create a new branch from `development` branch for the task that you want to work on:
`git checkout -b <prefix>/branch-title`
- `<prefix>`: The prefix should be one of the following:
- `feat` for new features
- `fix` for bug fixes
- `task` for other general tasks
- `docs` for documentation
- `branch-title` should be short and concise and written in kebab-case (separate each word with '-')
**Example**:
```sh
git checkout development && git pull # pull the latest changes from development branch

git checkout -b fix/type # create new branch
```

8. Write descriptive and concise commit messages.
Follow these guidelines when writing commit messages:
- Limit the first line of the commit message to 72 characters or less.
- Use the imperative mood and present tense in the subject line, e.g. "Fix typo in the homepage" instead of "Fixed typo...".
- Use the body of the commit message to provide additional context or details, _if necessary_.
- Use bullet points in the body of the commit message to break down changes, _if necessary_.

9. Push to your branch and then make a pull request from your branch to the base `development`.

### Running the Project Locally

#### Using Docker
Make sure that [docker](https://docs.docker.com/engine/install/) is installed on your system
and then run the project locally using [docker compose](https://github.com/jordanopensource/community-web/blob/development/docker-compose.yaml) with this command:
`docker compose up`.

#### Using Node:
1. Make sure [Node](https://nodejs.org/en) v18 is installed. Alternatively, you can use [NVM](https://github.com/nvm-sh/nvm#installing-and-updating) to install any node version.
2. Navigate to the project directory and run `npm i` to install the dependancies.
3. Run the project in development mode by running `npm run dev`. You can now preview the project on port `3000` by visiting `http://localhost:3000/` in your browser.

## Issues and Features Requests

If you want to report a bug or submit a feature request, please use one of the [templates here](https://github.com/jordanopensource/community-web/issues/new/choose).