Skip to content

Commit dbfd0c2

Browse files
authored
Create CONTRIBUTING.md
1 parent 565113b commit dbfd0c2

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

CONTRIBUTING.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
## Contributing to JOSA.community
2+
3+
Thank you for your interest in contributing to our project! We welcome your help and appreciate your support.
4+
To ensure a smooth and collaborative process, please take a moment to review this contributing guide.
5+
6+
## Code or Documentation Contributions
7+
8+
1. [Fork this repository](https://github.com/jordanopensource/community-web/fork).
9+
2. Clone the forked repository to your local machine with this command:
10+
`git clone https://github.com/<your github username>/community-web.git`
11+
3. Switch to `development` branch with this command: `git checkout development`.
12+
**If your contribution is a documentation, jump to step 7 below**.
13+
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,
14+
then add the value(s) of environment variable(s).
15+
You can use the current running API URL as the value to `NUXT_PUBLIC_COMMUNITY_API_URL` variable as the following:
16+
`NUXT_PUBLIC_COMMUNITY_API_URL=https://community.api.prod.josa.ngo/v2`.
17+
(_other environment variables are optional_).
18+
19+
5. [Run the project locally](https://github.com/jordanopensource/community-web/blob/main/CONTRIBUTING.md#running-the-project-locally).
20+
6. Check current [issues](https://github.com/jordanopensource/community-web/issues),
21+
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).
22+
If you decide to work on one of the issues, write a comment on the issue asking to be assigned to it.
23+
_Do not work on issues that you're not assigned to in order to avoid duplicate work_.
24+
7. Create a new branch from `development` branch for the task that you want to work on:
25+
`git checkout -b <prefix>/branch-title`
26+
- `<prefix>`: The prefix should be one of the following:
27+
- `feat` for new features
28+
- `fix` for bug fixes
29+
- `task` for other general tasks
30+
- `docs` for documentation
31+
- `branch-title` should be short and concise and written in kebab-case (separate each word with '-')
32+
**Example**:
33+
```sh
34+
git checkout development && git pull # pull the latest changes from development branch
35+
36+
git checkout -b fix/type # create new branch
37+
```
38+
39+
8. Write descriptive and concise commit messages.
40+
Follow these guidelines when writing commit messages:
41+
- Limit the first line of the commit message to 72 characters or less.
42+
- Use the imperative mood and present tense in the subject line, e.g. "Fix typo in the homepage" instead of "Fixed typo...".
43+
- Use the body of the commit message to provide additional context or details, _if necessary_.
44+
- Use bullet points in the body of the commit message to break down changes, _if necessary_.
45+
46+
9. Push to your branch and then make a pull request from your branch to the base `development`.
47+
48+
### Running the Project Locally
49+
50+
#### Using Docker
51+
Make sure that [docker](https://docs.docker.com/engine/install/) is installed on your system
52+
and then run the project locally using [docker compose](https://github.com/jordanopensource/community-web/blob/development/docker-compose.yaml) with this command:
53+
`docker compose up`.
54+
55+
#### Using Node:
56+
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.
57+
2. Navigate to the project directory and run `npm i` to install the dependancies.
58+
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.
59+
60+
## Issues and Features Requests
61+
62+
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).

0 commit comments

Comments
 (0)