Skip to content

Commit

Permalink
Merge pull request #792 from hotosm/docs/wiki-to-gh-pages
Browse files Browse the repository at this point in the history
Update Wiki --> GH Pages
  • Loading branch information
robsavoye authored Sep 1, 2023
2 parents 870d49f + a9016e7 commit 278e1f9
Show file tree
Hide file tree
Showing 46 changed files with 255,015 additions and 1,986 deletions.
7 changes: 4 additions & 3 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
### copy to .env and set variables

### ODK Central ###
ODK_CENTRAL_VERSION=v2023.2.1
ODK_CENTRAL_URL=https://central-proxy
ODK_CENTRAL_USER=[email protected]
ODK_CENTRAL_PASSWD=fmtm
Expand All @@ -16,12 +17,12 @@ FRONTEND_MAP_URL=127.0.0.1:8081
# API_PREFIX=/api

### OSM ###
OSM_CLIENT_ID=
OSM_CLIENT_SECRET=
OSM_CLIENT_ID=xxx
OSM_CLIENT_SECRET=xxx
OSM_URL=https://www.openstreetmap.org
OSM_SCOPE=read_prefs
OSM_LOGIN_REDIRECT_URI=http://127.0.0.1:8080/osmauth/
OSM_SECRET_KEY=
OSM_SECRET_KEY=xxx

### Database (optional) ###
CENTRAL_DB_HOST=central-db
Expand Down
90 changes: 90 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: Publish Docs

on:
push:
paths:
- docs/**
- src/**
- mkdocs.yml
branches: [main]
# Allow manual trigger (workflow_dispatch)
workflow_dispatch:

permissions:
contents: write

jobs:
build_doxygen:
name: Build Doxygen Docs
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Setup Doxygen
run: sudo apt-get update && sudo apt-get install -y doxygen

- name: Write cache
uses: actions/cache@v3
with:
path: |
.cache
docs/apidocs
docs/openapi.json
key: doc-build-${{ env.cache_id }}

- name: Build Doxygen Docs
run: |
cd docs
doxygen
build_openapi_json:
name: Build OpenAPI
runs-on: ubuntu-latest
container: ghcr.io/hotosm/fmtm/backend:ci-main

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Read cache
uses: actions/cache@v3
with:
path: |
.cache
docs/apidocs
docs/openapi.json
key: doc-build-${{ env.cache_id }}
restore-keys: |
doc-build-
- name: Build OpenAPi JSON
run: |
cd src/backend
python ../../scripts/gen_openapi_json.py -o ../../docs/openapi.json
publish_docs:
name: Publish Docs
runs-on: ubuntu-latest
container: ghcr.io/hotosm/fmtm/backend:ci-main
needs: [build_doxygen, build_openapi_json]

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Read cache
uses: actions/cache@v3
with:
path: |
.cache
docs/apidocs
docs/openapi.json
key: doc-build-${{ env.cache_id }}
restore-keys: |
doc-build-
- name: Publish
run: |
cd src/backend
mkdocs gh-deploy --config-file=../../mkdocs.yml --force
43 changes: 0 additions & 43 deletions .github/workflows/wiki.yml

This file was deleted.

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -72,4 +72,6 @@ src/frontend/node_modules

# pdm
**/.pdm.toml
**/pdm.toml
**/.pdm-python
**/__pypackages__
4 changes: 2 additions & 2 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Code of conduct
# 📜 Code of conduct

(The latest version can be found at <https://www.hotosm.org/code-of-conduct>)

Expand Down Expand Up @@ -80,4 +80,4 @@ As a first measure, it is preferable to work out issues directly with the people

- Contact the HOT Community Partnerships Manager.

When these informal processes fail, or when a situation warrants an immediate response by HOT, you can evoke the **HOT Policy and Code of Conduct Complaint Handling Process**. This process was adopted by HOT Voting Members in 2016 to provide a more formal means of enforcement for our community standards. You start it by emailing [[email protected]](mailto:[email protected]) with a description of your complaint, your name, and the name of the offending party. All complaints will be considered confidential. The full process is described [here](https://docs.google.com/document/d/1xb-SPADtSbgwl6mAgglHMPHpknt-E7lKRoIcSbW431A/edit)
When these informal processes fail, or when a situation warrants an immediate response by HOT, you can evoke the **HOT Policy and Code of Conduct Complaint Handling Process**. This process was adopted by HOT Voting Members in 2016 to provide a more formal means of enforcement for our community standards. You start it by emailing [[email protected]](mailto:[email protected]) with a description of your complaint, your name, and the name of the offending party. All complaints will be considered confidential. The full process is described [here](https://docs.google.com/document/d/1xb-SPADtSbgwl6mAgglHMPHpknt-E7lKRoIcSbW431A/edit) .
31 changes: 30 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,33 @@
# Contribution guidelines
## 🤗 Welcome

:+1::tada: First off, We are really glad you're reading this, because we need volunteer developers to help improve the Field Mapping Tasking Manager (FMTM)! :tada::+1:

We welcome and encourage contributors of all skill levels, and we are committed to making sure your participation is inclusive, enjoyable, and rewarding. If you have never contributed to an open source project before, we are a good place to start, and we will make sure you are supported every step of the way. If you have **any** questions, please ask!

You can see an overview of the project and the process we have gone through in developing FMTM so far in these [slides](https://docs.google.com/presentation/d/1UrBG1X4MXwVd8Ps498FDlAYvesIailjjPPJfR_B4SUs/edit#slide=id.g15c1f409958_0_0) .

Furthermore, there are many ways to contribute to the **Field Mapping Tasking Manager (FMTM)**, which includes:

## Testing

Right now, we are in the process of building the prototype. We warmly welcome your input in testing and sharing your feedback. If you are also interested in coordinating a field testing session, please reach out!

## Code contributions

Create pull requests (PRs) for changes that you think are needed. We would really appreciate your help!

In fact, we are specifically looking for input from developers with **Python skills** and **familiarity with Fast API**.

## Report bugs and suggest improvements

The [issue queue](https://github.com/hotosm/fmtm/issues) is the best way to get started. There are issue templates for BUGs and FEATURES that you can use, you could also create your own. Once you have submitted an issue, it will be assigned one label from the following [label categories](https://github.com/hotosm/fmtm/labels). If you are wondering where to start, you can filter by the **good first issue label**.

## :handshake: Thank you

Thank you very much in advance for your contributions!! Please ensure you refer to our **Code of Conduct**.
If you've read the guidelines, but are still not sure how to contribute on Github, please reach out to us via our Slack **#geospatial-tech-and-innovation**.

# Code Contribution guidelines

## Workflow

Expand Down
8 changes: 4 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
# Copyright (c) 2020, 2021 Humanitarian OpenStreetMap Team
#
# This file is part of Osm-Fieldwork.
# This file is part of FMTM.
#
# Osm-Fieldwork is free software: you can redistribute it and/or modify
# FMTM is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Osm-Fieldwork is distributed in the hope that it will be useful,
# FMTM is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Osm-Fieldwork. If not, see <https:#www.gnu.org/licenses/>.
# along with FMTM. If not, see <https:#www.gnu.org/licenses/>.
#

# All python source files
Expand Down
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,20 @@

**Production Workflows**

| PyTest | Build & Deploy | Wiki Docs |
|---|---|---|
| PyTest | Build & Deploy | Wiki Docs |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [![pytest](https://github.com/hotosm/fmtm/actions/workflows/pytest.yml/badge.svg?branch=main)](https://github.com/hotosm/fmtm/actions/workflows/pytest.yml) | [![Build and Deploy](https://github.com/hotosm/fmtm/actions/workflows/build_and_deploy.yml/badge.svg?branch=main)](https://github.com/hotosm/fmtm/actions/workflows/build_and_deploy.yml) | [![Publish Docs to Wiki](https://github.com/hotosm/fmtm/actions/workflows/wiki.yml/badge.svg?branch=main)](https://github.com/hotosm/fmtm/actions/workflows/wiki.yml) |

**Development Workflows**

| PyTest | Build & Deploy |
|---|---|
| PyTest | Build & Deploy |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [![pytest](https://github.com/hotosm/fmtm/actions/workflows/pytest.yml/badge.svg?branch=development)](https://github.com/hotosm/fmtm/actions/workflows/pytest.yml) | [![Build and Deploy](https://github.com/hotosm/fmtm/actions/workflows/build_and_deploy.yml/badge.svg?branch=development)](https://github.com/hotosm/fmtm/actions/workflows/build_and_deploy.yml) |

# Field Mapping Tasking Manager (FMTM)

🕮 [Documentation](https://hotosm.github.io/fmtm/)

A project to provide tools for Open Mapping campaigns

While we have pretty good field mapping applications, we don’t have great tools to coordinate field mapping. However, we have most of the elements needed to create a field mapping-oriented version of the HOT Tasking Manager, which allows people to select specific areas and complete tasks in a coordinated, organized fashion.
Expand Down
22 changes: 9 additions & 13 deletions docs/About.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,23 @@

# Field Mapping Tasking Manager (FMTM)

## :open_book: History
## 📖 History

_How was FMTM born ?_
<br>
<br>
It started as Ivan's idea to build FMTM (Ivan Gayton is Senior Humanitarian Advisor at Humanitarian OpenStreetMap Team) which then became a collaborative project with the efforts of Ivan , Rob Savoye who is Senior Technical Lead at Humanitarian OpenStreetMap Team and many other members from HOT as well as volunteers interested in the project.
HOT uses ODK heavily, but most of the data never makes it into OSM because all the data processing is manual and slow, so it doesn't get done.<img align="right" width="300px" src="https://github.com/hotosm/osm-fieldwork/assets/97789856/afc791c7-6cc9-4496-aa93-ab02733f30b8"/>
It started as Ivan's idea to build FMTM (Ivan Gayton is Senior Humanitarian Advisor at Humanitarian OpenStreetMap Team) which then became a collaborative project with the efforts of Ivan , Rob Savoye who is Senior Technical Lead at Humanitarian OpenStreetMap Team and many other members from HOT as well as volunteers interested in the project.
HOT uses ODK heavily, but most of the data never makes it into OSM because all the data processing is manual and slow, so it doesn't get done.<img align="right" width="300px" src="https://github.com/hotosm/osm-fieldwork/assets/97789856/afc791c7-6cc9-4496-aa93-ab02733f30b8"/>
Ivan Gayton(Senior Humanitarian Advisor at Humanitarian OpenStreetMap Team) heard about what Rob was working on and goes "That's the missing piece I needed!". He'd been wanting to build FMTM for years, but lacked the ability to process the data.A [webinar](https://www.youtube.com/watch?v=GiLKRZpbtrc&ab_channel=HumanitarianOpenStreetMapTeam) then took place in September 2022 that showcased the high interest from the community and the need for collaborative field mapping that really kicked off the starting point for building the Field Mapping Tasking Manager. It was Ivan who got HOT interested enough to direct some resources to his idea, so FMTM was born.

<!-- <img align="left" width="300px" src="https://github.com/hotosm/osm-fieldwork/assets/97789856/afc791c7-6cc9-4496-aa93-ab02733f30b8"/> -->
_Want to know about OSM-fieldwork project ?_ Click [here](https://github.com/hotosm/osm-fieldwork/wiki)

_Want to know about OSM-fieldwork project ?_ Click [here](https://github.com/hotosm/osm-fieldwork/wiki)
<br>
<br>
<br>
<br>

## A project to provide tools for Open Mapping campaigns

The Field Mapping Tasking Manager (FMTM) is a project that aims to provide tools for coordinating field mapping activities in Open Mapping campaigns. While there are existing field mapping applications, there is a lack of efficient tools to coordinate these activities. The FMTM builds on the HOT Tasking Manager and other mapping applications to provide a more streamlined and organized process for completing mapping tasks.
Expand Down Expand Up @@ -49,25 +53,21 @@ There are three main user roles for using ODK's Select From Map feature: campaig

Campaign managers select an Area of Interest (AOI) and organize field mappers to go out and collect data. They need to:

<img align="right" width="400px" src="https://github.com/hotosm/fmtm/assets/97789856/9343a4bc-462c-44af-af93-8a67907837b3"/>
<img align="right" width="400px" src="https://github.com/hotosm/fmtm/assets/97789856/9343a4bc-462c-44af-af93-8a67907837b3"/>

- Select an AOI polygon by creating a GeoJSON or by tracing a polygon in a Web map
- Choose a task division scheme (number of features or area per task, and possible variations on what features to use as the preferred splitting lines)
- Provide specific instructions and guidance for field mappers on the project.
- Provide a URL to a mobile-friendly Web page where field mappers can, from their mobile phone, select a task that is not already "checked out" (or possibly simply allocate areas to the field mappers).
- See the status of tasks (open, "checked out", completed but not validated, requires to rework, validated, etc) in the Web browser on their computer



## Field mappers

Field mappers select (or are allocated) individual tasks within a project AOI and use ODK Collect to gather data in those areas. They need to:

- Visit a mobile-friendly Web page where they can see available tasks on a map
- Choose an area and launch ODK Collect with the form corresponding to their allocated area pre-loaded



## Validators

Validators review the data collected by field mappers and assess its quality. If the data is good, the validators merge the portion of the data that belongs in OpenStreetMap to OSM. If it requires more work, the validators either fix it themselves (for minor stuff like spelling or capitalization mistakes that don't seem to be systematic) or inform the field mappers that they need to fix it. They need to:
Expand All @@ -81,7 +81,3 @@ Validators review the data collected by field mappers and assess its quality. If
# Info for developers

For this visit the [Getting Started Page](https://github.com/hotosm/fmtm/wiki/DEV-1.-Getting-Started).




1 change: 1 addition & 0 deletions docs/CODE_OF_CONDUCT.md
1 change: 1 addition & 0 deletions docs/CONTRIBUTING.md
Loading

0 comments on commit 278e1f9

Please sign in to comment.