mirror of
https://github.com/bellingcat/ukraine-timemap.git
synced 2026-06-08 03:18:36 +03:00
105
CONTRIBUTING.md
105
CONTRIBUTING.md
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user