update CONTRIBUTING.md (#185)

* update contributing

* update READMe
This commit is contained in:
Lachlan Kermode
2020-11-25 12:16:12 +00:00
committed by GitHub
parent 166c6e4063
commit 12f8c40c71

View File

@@ -1,10 +1,28 @@
# Contributing to TimeMap
First and foremost, thank you so much. We really appreciate you take the time to try and contribute and make TimeMap better for those who use it.
Hi there! Thank you already, for taking the time to try and contribute and
improve timemap. This document is the place to start on your journey. Read it
thoroughly!
#### Contributing means many things
## What do I need to know to help?
### Javascript / React / Redux
In order to contribute code upstream, you'll likely need to have a sense of ES6
Javascript, React, and Redux. If these terms are new to you, or not as familiar
as you might like, here's a good tutorial to get you up to speed:
Contributing can indeed be about contributing code or creating an issue, but can also take many other forms, and this document is an attempt to describing what are all the possible ways in which you can contribute.
- [Building a voting app with Redux and React](https://teropa.info/blog/2015/09/10/full-stack-redux-tutorial.html)
### Node JS and Docker
Timemap doesn't actually use these technologies; but the main way of getting up
and running with a data provider for timemap,
[datasheet-server](https://github.com/forensic-architecture/datasheet-server),
does, and so they're helpful to know.
## Do I need to be an experienced JS developer?
Contributing can of course be about contributing code, but it can also take
many other forms. A great amount of work that remains to be done to make
timemap a usable community tool doesn't involve writing a line of code. The
following are all very welcome contributions:
- Updating or correcting documentation
- Fixing an open issue
@@ -13,52 +31,49 @@ Contributing can indeed be about contributing code or creating an issue, but can
If you're new to this project, you could check the issues that are tagged ["good first issue"](https://github.com/forensic-architecture/timemap/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22). These are generally those that are considered easy ways in.
#### Showing support for TimeMap
## How do I make a contribution?
Please keep in mind that open source software is built by people like you, who spend their free time creating things the rest the community can use.
1. Make sure you have a [GitHub account](https://github.com/signup/free)
2. Fork the repository on GitHub. This is necessary so that you can push your
changes, as you can't do this directly on our repo.
There are other ways in which you can contribute to the communal success of this project, such as starring the [project](https://github.com/forensic-architecture/timemap) on Github.
3. Get set up with a local instance of timemap and datasheet-server. The easiest
way to do this is by reading [this blog post on our website](https://forensic-architecture.org/investigation/timemap-for-cartographic-platforms).
4. [Join our Discord server](https://discord.gg/PjHKHJD5KX). Here you'll be able
to track commits that are actively being made across our projects; but more
importantly it's where you can ask questions if something's not clear or
not working as you expect. The #timemap and #support channels are the two
best places to ask questions about setting timemap up.
## Getting Started
Once you're set up with a local copy of timemap and datasheet-server, you can
start modifying code and making changes.
- Make sure you have a [GitHub account](https://github.com/signup/free)
- Fork the repository on GitHub
When you're ready to submit a contribution, you can do it by making a pull
request from a branch on your forked copy of timemap to this repository. You
can do this with the following steps:
1. Push the changes to a remote repository. If the changes you have made
address a bug, you should name it `bug/{briefdesc}`, where `{briefdesc}` is
a hyphen-separated description of your change. If instead you are
contributing changes as a feature request, name it `feature/{briefdesc`}. If
in doubt, prefix your branch with `feature/`.
2. Submit a pull request to the `develop` branch of `forensic-architecture/timemap`.
3. Wait for the pull request to be reviewed by a maintainer.
4. Make changes to the pull request if the reviewing maintainer recommends
them.
5. Celebrate your success once your pull request is merged!
## Issues
## How do I validate my changes?
We are still working on a set of tests. Right now, it is enough to confirm that
the application runs as expected with `npm run dev`. If your changes introduce
other issues, a maintainer will flag it in stage 3 of the submission process
above.
WIP
## Credits
This contributing guide is based on the guidelines of both the
[SuperCollider contributing guide](https://raw.githubusercontent.com/supercollider/supercollider/develop/CONTRIBUTING.md),
and the [nteract contributing
guide](https://github.com/nteract/nteract/blob/master/CONTRIBUTING.md) (two
excellent open source projects!).
### Before creating an issue
Try to follow these guidelines:
- **Investigate the issue**: WIP
- **See if a ticket already exists**: WIP
- **Ask the community**: WIP
- **Proceed in creating your issue**: WIP
### Creating an issue
WIP
## Pull Requests
### Before making changes
WIP. Here we'll describe what the expected process and workflow is when making code changes, with regards to branching, forking and so on.
### Submitting changes as Pull Requests
WIP
## Additional resources
More information will be available on the [git workflow wiki page](https://github.com/forensic-architecture/timemap/wiki).
You can also refer to Github's guide to [forking a repository](https://help.github.com/articles/fork-a-repo/) and to [syncing a fork](https://help.github.com/articles/syncing-a-fork/).
If you have any questions or just want to chat, please join our team [fa_open_source](https://keybase.io/team/fa_open_source) on Keybase for community discussion. Keybase is a great platform for encrypted chat and file sharing.
## Other
This contributing guide is based on the guidelines of the [SuperCollider contributing guide](https://raw.githubusercontent.com/supercollider/supercollider/develop/CONTRIBUTING.md).
Thanks to [Scott Carver](https://github.com/scztt) for advice on how to put
a guide together.