wtimme / OSM-Completionist

ā›”ļø DEPRECATED iOS companion app for OpenStreetMap that allows contributors to complete missing information
ISC License
18 stars 4 forks source link
archived deprecated obselete

DEPRECATED

No Maintenance Intended

This repository is no longer supported.

Please consider implementing the quest functionality directly in the GoMap!! repository, e. g. as part of bryceco/GoMap#221.

Pay OSM-Surveyor a visit and consider contributing there as well.

Most of the added functionality is available from the Git history as atomic commits, ready to be picked and built upon.


OSM Completionist

OSM Completionist is an iOS companion app that allows OpenStreetMap contributors to complete missing information for objects around them.

Instead of advanced editing possibilities, OSM Completionist uses the concept of "quests", analog to StreetComplete for Android.

Based on GoMap

This repository is a fork of GoMap!!, a comprehensive OpenStreetMap editor for iPhone/iPad.

If you're looking for a full OpenStreetMap editor, download GoMap on the App Store.

Join our TestFlight beta!

Do you want to help testing pre-releases of OSM Completionist? Become a TestFlight tester today! šŸš€

Continuous delivery

OSM Completionist makes use of fastlane. For a list of available actions, please refer to the auto-generated README.

Getting started with development

  1. Install XcodeGen
  2. Run xcodegen generate in the root directory of this repository
  3. Open the project file (Completionist.xcodeproj)

Signing

To automate the signing, this project uses fastlane match. Fetch the certificates for development with

% bundle exec fastlane match development

Screenshots

Screenshots are taken automatically with fastlane snapshot. To create new screenshots, run

% bundle exec fastlane snapshot

App Icon

The app icon is based on the 1024x1024 PNG file in fastlane/metadata/app_icon.png. After changing this "master" app icon, re-generate the app icons using the fastlane plugin "appicon" like so:

% bundle exec fastlane regenerate_app_icon

Source code structure

External assets

A number of assets used in the app come from other repositories, and should be periodically updated. Because updating these items can be a lengthy process it is performed manually rather than at build time:

How to update external assets

Starting from the src directory:

Continuous integration

Prerequisite

How to release a Beta locally

You'll need to obtain the values for the following parameter:

In order to release a new Beta to the TestFlight testers, run

% MATCH_REPO=<GIT_REPOSITORY_URL> \
  MATCH_PASSWORD=<MATCH_PASSWORD> \
  FASTLANE_TEAM_ID=<APPLE_DEVELOPER_TEAM_ID> \
  FASTLANE_USER=<APP_STORE_CONNECT_EMAIL> \
  FASTLANE_ITC_TEAM_ID=<APP_STORE_CONNECT_TEAM_ID> \
  bundle exec fastlane beta

Formatting

In order to have a consistent code style, please make sure to install SwiftFormat and run it on a regular basis. Consider setting up a pre-commit Git hook, as described here.

Assets

The Go Map!! app icon was created by @Binnette.

Assets

The icons for the quests were retrieved from rugk/streetcomplete-quest-svgs and then converted to PDF using CairoSVG:

% cairosvg $path -o $pdf_path

For details on the license of the icons, please refer to authors.txt in the StreetComplete repository.

Presets and translation

Go Map!! is using iD presets, so you can improve translations by improving translations of iD presets.