Thanks for your interest in contributing to StreetComplete!
Even if you do not find something to do in this list, using StreetComplete, testing it and giving constructive feedback is always a valuable contribution too.
- Translating the app
- Solving notes
- Testing and reporting issues
- Issues of dependencies
- Suggesting new quests
- Improving documentation
- Developing new quests
- StreetComplete-related projects.
Translating the app
You can translate StreetComplete at POEditor. You can add missing translations and improve existing ones.
The only required skills here are ability to read English text and write in your own language.
After joining main site of the POEditor should list StreetComplete for logged in users.
Before each release, translations are pulled in from POEditor. Please, use POEditor for translating. Manual changes submitted as Pull Requests will not be merged and do not help the project.
As you probably noticed, you can choose "Cannot answer" in StreetComplete and thus leave a note on OpenStreetMap.
You can help with processing OSM notes opened by StreetComplete users. While processing and solving notes, it may become apparent that there is a systematic problem in that users misunderstand the UI or the wording when solving StreetComplete quests.
If you find such user experience problems, please report them back in the issue tracker of StreetComplete. Do not forget to add links to examples, e.g. the notes StreetComplete mappers submitted.
Testing and reporting issues
If you experience problems, crashes or a quest is not clear to you, feel free to open an issue for that. Remember to open one issue for one matter, so do not open one issue "I have found several problems", but one for each problem. Before you open an issue, please consider:
- If you have questions, remember to read the FAQ first.
- Remember to report map style issues in the appropriate repository.
- Look whether your issue has already been reported.
Issues of dependencies
StreetComplete depends on some projects for the app. Try to find the appropriate place for reporting them.
- Map style issues should be reported in a separate repository. Examples of such issues are missing elements on the map, display errors on the map, etc. As a rule of thumb, you can report everything that happens "behind" the quest icon markers there.
Note that this app has other dependencies. For reporting issues, in these, you however have to have some technical knowledge. So if you are not sure that the component listed below is responsible for the issue you have, it is often better to report them in the general StreetComplete issue tracker. People will then let you know whether this issue is solvable by StreetComplete or is an issue of Tangram-ES. The full list of dependencies and other StreetComplete-related projects is listed at the end of this file.
Suggesting new quests
Not all ideas for quests are actually eligible to be included in this app. So, before you suggest a new quest, it is very important that you read the Quest Guidelines for StreetComplete.
If you can code, see also how to develop your own quest.
You can also help to keep the OpenStreetMap wiki up-to-date for StreetComplete. For example:
- Add missing quests in the quest list or check, that they are up to date.
- Edit the FAQ and add reoccurring questions.
- Edit the main StreetComplete page.
- Edit the JSON of all tags used by StreetComplete that is displayed on taginfo.
If you would like to help and are able to contribute code, you are most welcome.
There are many reasonable feature requests and ideas for new question types in the issue tracker which you could also engage yourself with. If you have own ideas how to improve this app and want to make sure that the Pull Request will be merged, it is strongly suggested to open an issue first to discuss the feature, especially if you aim to add a new quest, see below.
Note that StreetComplete also uses some dependencies, where contributions are likely also accepted and help StreetComplete, too.
If you need to find things where help is especially appreciated have a look at the issues tagged with "help wanted".
To build and test StreetComplete download and install Android Studio which comes bundled with all tools needed, checkout and open the project in this application and click on the green play button on the top.
See also a documentation of program architecture.
Developing new quests
You want to contribute a new quest right away? That's great! However, we strongly suggest to open an issue discussing the quest, before creating a PR, so we can see if your quest idea meets the criteria and can be included in StreetComplete.
In case you don't have an idea of a quest? Look at the existing issues. Sorted by
Always remember to pay attention to the quest guidelines of StreetComplete! It also has tips for implementing a quest.
- Tangram-ES map rendering
- countryboundaries for detecting, in which country a quest is (affects quest display, etc.)
- osmapi for communication with the OSM API
- osmfeatures to correctly refer to a feature by name
Created for StreetComplete
- StreetCompleteJSON by @goldfndr listing all tags edited by StreetComplete for taginfo
- blacklistr by @ENT8R for visualizing StreetComplete's country exclusion list
- NotesReview by @ENT8R for reviewing notes with a specific keyword (here:
- streetcomplete-mapstyle by @ENT8R maintaining the mapstyle of StreetComplete
- oneway-data-api by @ENT8R for getting oneway data from improveosm.org
- crops-parser by @rugk for parsing data for the orchard quest
- streetcomplete-quest-svgs by @rugk for having minified versions of all StreetComplete quest icons for the OSM wiki
- streetcomplete-ad-c3 by @rugk as a banner advertisement
- sc-photo-service by @exploide allows StreetComplete to upload photos associated with OSM Notes
You may find more projects under the StreetComplete tag on GitHub.