|
1 |
| -Thanks for showing interest in contributing to the Developer DAO! |
| 1 | +# How to Contribute to Developer Dao |
2 | 2 |
|
3 |
| -This document will guide you through all the things you might need to know to |
4 |
| -start contributing to the project. |
| 3 | +Thanks for showing interest in contributing to Developer DAO(D_D)! |
5 | 4 |
|
6 |
| -# Development |
| 5 | +This document will help you to start contributing to the DAO as quickly as |
| 6 | +possible. The target audience of this document is literally anybody who wants to |
| 7 | +contribute to the Developer DAO organization, regardless of skill level or |
| 8 | +technical background, in the manner that fits them the best. |
7 | 9 |
|
8 |
| -This project uses [yarn][yarn] to manage its dependencies. After checking out |
9 |
| -the project, be sure to run `yarn` to install the project's dependencies. |
| 10 | +## Ways to contribute |
10 | 11 |
|
11 |
| -## Internationalization (i18n) |
| 12 | +We all come from a wide range of experiences, skill-sets and backgrounds; |
| 13 | +however, we're all here because of the opportunity to contribute to pushing web3 |
| 14 | +forward and growing together. There's no one way of contributing to this DAO |
| 15 | +which is what makes it so awesome. You're an out-of-this-world designer? Sweet, |
| 16 | +feel free to suggest anything to improve our current design. Are you passionate |
| 17 | +about testing? Excellent, you can look to ways we can improve our current test |
| 18 | +suites and ensure developers are including unit tests through code reviews. |
| 19 | +Indeed, there are many ways one can contribute, below are the current areas most |
| 20 | +community members are helping out with today: |
12 | 21 |
|
13 |
| -This project uses [`next-i18next`][next-i18next] to handle translation of text |
14 |
| -on the site. The user's language is automatically detected from their browser |
15 |
| -settings and loaded. |
| 22 | +- Feature development |
| 23 | +- Code reviews |
| 24 | +- Bug Fixes |
| 25 | +- Testing |
| 26 | +- Documentation |
| 27 | +- Translation |
| 28 | +- Design |
16 | 29 |
|
17 |
| -New blocks of text should be defined in the translation files and then |
18 |
| -referenced using the `useTranslation` hook from `next-i18next`[next-i18next]. |
| 30 | +## Picking up an issue |
19 | 31 |
|
20 |
| -Here's an example: |
| 32 | +Oh yeah, you got this far and are looking to get some skin in the game, very |
| 33 | +wise choice. If you're itching to get straight into the action, go to the |
| 34 | +[issues tab](https://github.com/Developer-DAO/developer-dao/issues) and see |
| 35 | +which of the open issues interests you the most. How do you know an issue hasn't |
| 36 | +been picked up you ask? Issues are typically picked up by commenting on the |
| 37 | +given issue that you'd be interested in taking up and then having them assigned |
| 38 | +to you by someone. |
21 | 39 |
|
22 |
| -```jsx |
23 |
| -// src/Text.js |
24 |
| -import { useTranslation } from "next-i18next"; |
| 40 | +To start contributing, we ask all contributors to fork a copy of this repo. Once |
| 41 | +you have the project forked, you would then checkout a branch off your local |
| 42 | +copy of the project via `git checkout -b your_branch_name` per issue you pick |
| 43 | +up. You can name the branch what you want but be sure to give it some context |
| 44 | +around the issue you're working on. |
25 | 45 |
|
26 |
| -const Text = () => { |
27 |
| - const { t } = useTranslation(); |
| 46 | +Once you're well on your way through your work, don't be shy/hesitant to open a |
| 47 | +draft pull request to have the community take a look at the progress or provide |
| 48 | +helpful insight/tips/suggestions on how you can improve the current |
| 49 | +implementation. At the end of the day the community is here to help one another |
| 50 | +and to ensure people are getting the most out their experience being part of the |
| 51 | +Developer DAO. |
28 | 52 |
|
29 |
| - return <p>{t("text")}</p>; |
30 |
| -}; |
| 53 | +## Issue creation |
31 | 54 |
|
32 |
| -// src/locales/en/common.json |
33 |
| -{ |
34 |
| - "text": "text" |
35 |
| -} |
| 55 | +GitHub Issues are the primary way we discuss ideas and plans for future work for |
| 56 | +the website. We have |
| 57 | +[a number of issue forms](https://github.com/Developer-DAO/developer-dao/issues/new/choose) |
| 58 | +to help guide you through the process of sharing a feature request or reporting |
| 59 | +a bug. |
36 | 60 |
|
37 |
| -// src/locales/es/common.json |
38 |
| -{ |
39 |
| - "text": "texto" |
40 |
| -} |
41 |
| -``` |
| 61 | +### Design oriented issues |
42 | 62 |
|
43 |
| -[i18n-example]: https://github.com/Developer-DAO/developer-dao/pull/17/files |
44 |
| -[next-i18next]: https://www.npmjs.com/package/next-i18next |
| 63 | +If your proposal includes UI changes like a new direction for the site or a new |
| 64 | +feature, it might be helpful to include design mockups so that others can |
| 65 | +understand your vision! We have |
| 66 | +[a Figma design file](https://www.figma.com/file/BBxYJrArJFOpND9c4OBWkY/D_D?node-id=3%3A2) |
| 67 | +that you can fork and play around with! If that's not your thing though, don't |
| 68 | +let it stop you from sharing your idea! We have a lot of design-minded |
| 69 | +individuals in the community that can help bring your idea to life. |
45 | 70 |
|
46 |
| -[yarn]: [https://yarnpkg.com/] |
| 71 | +## Code reviews |
| 72 | + |
| 73 | +If you're looking to provide a code review for someone(anyone is free to do |
| 74 | +so!), ensure to give constructive feedback around how the contributor can |
| 75 | +improve their work. This can include things like pointing out misses in code |
| 76 | +logic, reminding people to add tests where appropriate, pointing out breakages |
| 77 | +in functionality, better approaches to implementation and so on. Let's aim to be |
| 78 | +mentors to those who want to contribute and give the community the opportunity |
| 79 | +to grow together. There are major learning opportunities to be had with code |
| 80 | +reviews, especially to the less experienced among us who are here to learn first |
| 81 | +and foremost. Let's ensure we give our community the best opportunities to learn |
| 82 | +through each issue they work through. |
| 83 | + |
| 84 | +## Testing |
| 85 | + |
| 86 | +Having an adequate test suite ensures that the code we've written behaves as we |
| 87 | +intended and helps us figure out changes that break current functionality. If |
| 88 | +you're contributing in any area that either changes existing code or adds new |
| 89 | +features, please ensure to update/add on to the existing test suite (unit, e2e, |
| 90 | +etc...) so that the codebase behaves as we intend it to. A good rule of thumb to |
| 91 | +follow here is if you write a piece of code, you expect it to run at some point |
| 92 | +so let's make sure it works as intended. |
| 93 | + |
| 94 | +## Documentation |
| 95 | + |
| 96 | +Documentation is the key to keeping everybody informed about the |
| 97 | +ongoings/developments of the repo. As a community we want to aim to have the |
| 98 | +most up to date documentation so that future contributors will have the most |
| 99 | +accurate information available to them. If you see an opportunity to improve |
| 100 | +existing documentation or add something that may be missing, open up an issue |
| 101 | +and get writing! |
| 102 | + |
| 103 | +## Translations |
| 104 | + |
| 105 | +Being part of the internet means we have a global audience. This is why we want |
| 106 | +our users to actually be able to access our content if English isn't their first |
| 107 | +language. Our code base uses |
| 108 | +[next-i18next](https://github.com/isaachinman/next-i18next) for translation |
| 109 | +purposes and our actual translations are provided by our awesome community |
| 110 | +members. |
| 111 | + |
| 112 | +If you'd like to work as a translator for this project, check out our |
| 113 | +translation guide in [`TRANSLATIONS.md`](./TRANSLATIONS.md). |
0 commit comments