Skip to content

Commit

Permalink
Merge branch 'development' of https://github.com/hotosm/fmtm into fea…
Browse files Browse the repository at this point in the history
…t-map-clustering
  • Loading branch information
NSUWAL123 committed Oct 12, 2023
2 parents b1a1881 + ff26553 commit d90d550
Show file tree
Hide file tree
Showing 14 changed files with 174 additions and 90 deletions.
66 changes: 51 additions & 15 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -23,41 +23,83 @@
"profile": "https://www.hotosm.org",
"contributions": ["maintenance", "mentoring", "code", "review", "ideas"]
},
{
"login": "spwoodcock",
"name": "Sam",
"avatar_url": "https://avatars.githubusercontent.com/u/78538841?v=4",
"profile": "https://github.com/spwoodcock",
"contributions": ["code", "review", "infra", "ideas", "maintenance"]
},
{
"login": "varun2948",
"name": "Deepak Pradhan (Varun)",
"avatar_url": "https://avatars.githubusercontent.com/u/37866666?v=4",
"profile": "https://github.com/varun2948",
"contributions": ["code", "ideas", "maintenance"]
},
{
"login": "nrjadkry",
"name": "Niraj Adhikari",
"avatar_url": "https://avatars.githubusercontent.com/u/41701707?v=4",
"profile": "https://github.com/nrjadkry",
"contributions": ["code", "ideas", "maintenance"]
},
{
"login": "krtonga",
"name": "krtonga",
"avatar_url": "https://avatars.githubusercontent.com/u/7307817?v=4",
"profile": "https://github.com/krtonga",
"contributions": ["code", "doc", "tool", "ideas"]
},
{
"login": "spwoodcock",
"name": "Sam",
"avatar_url": "https://avatars.githubusercontent.com/u/78538841?v=4",
"profile": "https://github.com/spwoodcock",
"contributions": ["code", "review", "infra", "ideas"]
},
{
"login": "petya-kangalova",
"name": "Petya ",
"avatar_url": "https://avatars.githubusercontent.com/u/98902727?v=4",
"profile": "https://www.hotosm.org/people/petya-kangalova/",
"contributions": ["doc", "eventOrganizing", "ideas"]
},
{
"login": "Sujanadh",
"name": "Sujan Adhikari",
"avatar_url": "https://avatars.githubusercontent.com/u/109404840?v=4",
"profile": "https://github.com/Sujanadh",
"contributions": ["code"]
},
{
"login": "Mudi-business",
"name": "Mohamed Bakari Mohamed",
"avatar_url": "https://avatars.githubusercontent.com/u/52991565?v=4",
"profile": "http://zanrevenue.org",
"contributions": ["code"]
},
{
"login": "NSUWAL123",
"name": "Nishit Suwal",
"avatar_url": "https://avatars.githubusercontent.com/u/81785002?v=4",
"profile": "https://github.com/NSUWAL123",
"contributions": ["code"]
},
{
"login": "biomassives",
"name": "G. Willson",
"avatar_url": "https://avatars.githubusercontent.com/u/4379874?v=4",
"profile": "https://www.scdhub.org",
"contributions": ["code"]
},
{
"login": "JoltCode",
"name": "JoltCode",
"avatar_url": "https://avatars.githubusercontent.com/u/46378904?v=4",
"profile": "https://github.com/JoltCode",
"contributions": ["code"]
},
{
"login": "neelimagoogly",
"name": "Neelima Mohanty",
"avatar_url": "https://avatars.githubusercontent.com/u/97789856?v=4",
"profile": "https://github.com/neelimagoogly",
"contributions": ["doc"]
},
{
"login": "Ndacyayisenga-droid",
"name": "Tayebwa Noah",
Expand Down Expand Up @@ -92,15 +134,9 @@
"avatar_url": "https://avatars.githubusercontent.com/u/75838716?v=4",
"profile": "https://github.com/Roseford",
"contributions": ["doc"]
},
{
"login": "neelimagoogly",
"name": "Neelima Mohanty",
"avatar_url": "https://avatars.githubusercontent.com/u/97789856?v=4",
"profile": "https://github.com/neelimagoogly",
"contributions": ["doc"]
}
],
"contributorsPerLine": 7,
"linkToUsage": true
"linkToUsage": true,
"commitType": "docs"
}
22 changes: 22 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
"frontend":
- "src/frontend/**/*"
"backend":
- "src/backend/**/*"
"devops":
- ".github/**/*"
- "scripts/**/*"
- "docker-*.yml"
- "**/Dockerfile"
- "**/*.dockerfile"
- "**/*entrypoint.sh"
- "josm/**/*"
"migration":
- "src/backend/migrations/**/*"
"documentation":
- "docs/**/*"
- "images/**/*"
- "mkdocs.yml"
- "README.md"
- "INSTALL.md"
"ODK":
- "odkcentral/**/*"
14 changes: 14 additions & 0 deletions .github/workflows/pr_label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: PR Label

on:
pull_request:

jobs:
pr-label:
runs-on: ubuntu-latest

steps:
- uses: actions/labeler@v3
# Uses .github/labeler.yml definitions
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/pr.yml → .github/workflows/pr_test.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: PR
name: PR Tests

on:
pull_request:
Expand Down
15 changes: 8 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,14 @@
# All python source files
# MDS := $(wildcard ./docs/*.md)
MDS := \
docs/DEV-1.-Getting-Started.md \
docs/DEV-2.-Backend.md \
docs/DEV-3.-Frontend.md \
docs/DEV-4.-Database-Tips.md \
docs/DEV-5.-Docker-Tips.md \
docs/DEV-6.-Production-Deployment.md \
docs/User-Manual-For-Project-Managers.md
docs/dev/Backend.md \
docs/dev/Database-Tips.md \
docs/dev/Deployment-Flow.md \
docs/dev/Docker-Tips.md \
docs/dev/Frontend.md \
docs/dev/Production.md \
docs/dev/Setup.md \
docs/dev/Troubleshooting.md \

PDFS := $(MDS:.md=.pdf)

Expand Down
20 changes: 11 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -261,24 +261,26 @@ Thanks goes to these wonderful people:
<tr>
<td align="center" valign="top" width="14.28%"><a href="http://ivangayton.net"><img src="https://avatars.githubusercontent.com/u/5991943?v=4?s=100" width="100px;" alt="Ivan Gayton"/><br /><sub><b>Ivan Gayton</b></sub></a><br /><a href="#projectManagement-ivangayton" title="Project Management">📆</a> <a href="https://github.com/hotosm/fmtm/commits?author=ivangayton" title="Code">💻</a> <a href="https://github.com/hotosm/fmtm/pulls?q=is%3Apr+reviewed-by%3Aivangayton" title="Reviewed Pull Requests">👀</a> <a href="#ideas-ivangayton" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.hotosm.org"><img src="https://avatars.githubusercontent.com/u/71342768?v=4?s=100" width="100px;" alt="Rob Savoye"/><br /><sub><b>Rob Savoye</b></sub></a><br /><a href="#maintenance-robsavoye" title="Maintenance">🚧</a> <a href="#mentoring-robsavoye" title="Mentoring">🧑‍🏫</a> <a href="https://github.com/hotosm/fmtm/commits?author=robsavoye" title="Code">💻</a> <a href="https://github.com/hotosm/fmtm/pulls?q=is%3Apr+reviewed-by%3Arobsavoye" title="Reviewed Pull Requests">👀</a> <a href="#ideas-robsavoye" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/krtonga"><img src="https://avatars.githubusercontent.com/u/7307817?v=4?s=100" width="100px;" alt="krtonga"/><br /><sub><b>krtonga</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=krtonga" title="Code">💻</a> <a href="https://github.com/hotosm/fmtm/commits?author=krtonga" title="Documentation">📖</a> <a href="#tool-krtonga" title="Tools">🔧</a> <a href="#ideas-krtonga" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/spwoodcock"><img src="https://avatars.githubusercontent.com/u/78538841?v=4?s=100" width="100px;" alt="Sam"/><br /><sub><b>Sam</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=spwoodcock" title="Code">💻</a> <a href="https://github.com/hotosm/fmtm/pulls?q=is%3Apr+reviewed-by%3Aspwoodcock" title="Reviewed Pull Requests">👀</a> <a href="#infra-spwoodcock" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#ideas-spwoodcock" title="Ideas, Planning, & Feedback">🤔</a> <a href="#maintenance-spwoodcock" title="Maintenance">🚧</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.hotosm.org/people/petya-kangalova/"><img src="https://avatars.githubusercontent.com/u/98902727?v=4?s=100" width="100px;" alt="Petya "/><br /><sub><b>Petya </b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=petya-kangalova" title="Documentation">📖</a> <a href="#eventOrganizing-petya-kangalova" title="Event Organizing">📋</a> <a href="#ideas-petya-kangalova" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nrjadkry"><img src="https://avatars.githubusercontent.com/u/41701707?v=4?s=100" width="100px;" alt="Niraj Adhikari"/><br /><sub><b>Niraj Adhikari</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=nrjadkry" title="Code">💻</a> <a href="#ideas-nrjadkry" title="Ideas, Planning, & Feedback">🤔</a> <a href="#maintenance-nrjadkry" title="Maintenance">🚧</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/varun2948"><img src="https://avatars.githubusercontent.com/u/37866666?v=4?s=100" width="100px;" alt="Deepak Pradhan (Varun)"/><br /><sub><b>Deepak Pradhan (Varun)</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=varun2948" title="Code">💻</a> <a href="#ideas-varun2948" title="Ideas, Planning, & Feedback">🤔</a> <a href="#maintenance-varun2948" title="Maintenance">🚧</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/nrjadkry"><img src="https://avatars.githubusercontent.com/u/41701707?v=4?s=100" width="100px;" alt="Niraj Adhikari"/><br /><sub><b>Niraj Adhikari</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=nrjadkry" title="Code">💻</a> <a href="#ideas-nrjadkry" title="Ideas, Planning, & Feedback">🤔</a> <a href="#maintenance-nrjadkry" title="Maintenance">🚧</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/krtonga"><img src="https://avatars.githubusercontent.com/u/7307817?v=4?s=100" width="100px;" alt="krtonga"/><br /><sub><b>krtonga</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=krtonga" title="Code">💻</a> <a href="https://github.com/hotosm/fmtm/commits?author=krtonga" title="Documentation">📖</a> <a href="#tool-krtonga" title="Tools">🔧</a> <a href="#ideas-krtonga" title="Ideas, Planning, & Feedback">🤔</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.hotosm.org/people/petya-kangalova/"><img src="https://avatars.githubusercontent.com/u/98902727?v=4?s=100" width="100px;" alt="Petya "/><br /><sub><b>Petya </b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=petya-kangalova" title="Documentation">📖</a> <a href="#eventOrganizing-petya-kangalova" title="Event Organizing">📋</a> <a href="#ideas-petya-kangalova" title="Ideas, Planning, & Feedback">🤔</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="http://zanrevenue.org"><img src="https://avatars.githubusercontent.com/u/52991565?v=4?s=100" width="100px;" alt="Mohamed Bakari Mohamed"/><br /><sub><b>Mohamed Bakari Mohamed</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=Mudi-business" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Sujanadh"><img src="https://avatars.githubusercontent.com/u/109404840?v=4?s=100" width="100px;" alt="Sujan Adhikari"/><br /><sub><b>Sujan Adhikari</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=Sujanadh" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/AugustHottie"><img src="https://avatars.githubusercontent.com/u/96122635?v=4?s=100" width="100px;" alt="AugustHottie"/><br /><sub><b>AugustHottie</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=AugustHottie" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Balofire"><img src="https://avatars.githubusercontent.com/u/102294666?v=4?s=100" width="100px;" alt="Ahmeed Etti-Balogun"/><br /><sub><b>Ahmeed Etti-Balogun</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=Balofire" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Roseford"><img src="https://avatars.githubusercontent.com/u/75838716?v=4?s=100" width="100px;" alt="Uju"/><br /><sub><b>Uju</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=Roseford" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/neelimagoogly"><img src="https://avatars.githubusercontent.com/u/97789856?v=4?s=100" width="100px;" alt="Neelima Mohanty"/><br /><sub><b>Neelima Mohanty</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=neelimagoogly" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="http://zanrevenue.org"><img src="https://avatars.githubusercontent.com/u/52991565?v=4?s=100" width="100px;" alt="Mohamed Bakari Mohamed"/><br /><sub><b>Mohamed Bakari Mohamed</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=Mudi-business" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/NSUWAL123"><img src="https://avatars.githubusercontent.com/u/81785002?v=4?s=100" width="100px;" alt="Nishit Suwal"/><br /><sub><b>Nishit Suwal</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=NSUWAL123" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://www.scdhub.org"><img src="https://avatars.githubusercontent.com/u/4379874?v=4?s=100" width="100px;" alt="G. Willson"/><br /><sub><b>G. Willson</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=biomassives" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/JoltCode"><img src="https://avatars.githubusercontent.com/u/46378904?v=4?s=100" width="100px;" alt="JoltCode"/><br /><sub><b>JoltCode</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=JoltCode" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/neelimagoogly"><img src="https://avatars.githubusercontent.com/u/97789856?v=4?s=100" width="100px;" alt="Neelima Mohanty"/><br /><sub><b>Neelima Mohanty</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=neelimagoogly" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Ndacyayisenga-droid"><img src="https://avatars.githubusercontent.com/u/58124613?v=4?s=100" width="100px;" alt="Tayebwa Noah"/><br /><sub><b>Tayebwa Noah</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=Ndacyayisenga-droid" title="Documentation">📖</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Ndacyayisenga-droid"><img src="https://avatars.githubusercontent.com/u/58124613?v=4?s=100" width="100px;" alt="Tayebwa Noah"/><br /><sub><b>Tayebwa Noah</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=Ndacyayisenga-droid" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/mohammadareeb95"><img src="https://avatars.githubusercontent.com/u/77102111?v=4?s=100" width="100px;" alt="Mohammad Areeb"/><br /><sub><b>Mohammad Areeb</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=mohammadareeb95" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/AugustHottie"><img src="https://avatars.githubusercontent.com/u/96122635?v=4?s=100" width="100px;" alt="AugustHottie"/><br /><sub><b>AugustHottie</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=AugustHottie" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Balofire"><img src="https://avatars.githubusercontent.com/u/102294666?v=4?s=100" width="100px;" alt="Ahmeed Etti-Balogun"/><br /><sub><b>Ahmeed Etti-Balogun</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=Balofire" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Roseford"><img src="https://avatars.githubusercontent.com/u/75838716?v=4?s=100" width="100px;" alt="Uju"/><br /><sub><b>Uju</b></sub></a><br /><a href="https://github.com/hotosm/fmtm/commits?author=Roseford" title="Documentation">📖</a></td>
</tr>
</tbody>
<tfoot>
Expand Down
4 changes: 3 additions & 1 deletion docs/_Sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,6 @@

[6. Production Deployment](https://github.com/hotosm/fmtm/wiki/dev/Production)

[7. Troubleshooting](https://github.com/hotosm/fmtm/wiki/dev/Troubleshooting)
[7. Deployment Flow](https://github.com/hotosm/fmtm/wiki/dev/Deployment-Flow)

[8. Troubleshooting](https://github.com/hotosm/fmtm/wiki/dev/Troubleshooting)
60 changes: 60 additions & 0 deletions docs/dev/Deployment-Flow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Deployment Flow

These stages go in order, from local development, through to production deployment.

## Local Development

- Devs develop features on their local instance.
- Use `docker-compose.yml` setup for testing.
- Once feature and testing complete, make a PR to the `development` branch.

## Development Deployment

- Once a PR is approved, it is merged to `development`.
- This triggers a workflow to automatically deploy the code changes on the dev server.
- The purpose of this stage is for fast CI,
i.e. the developer sees their code in action quickly.

## Staging Deployment

- At a set interval (approx bi-weekly),
the updates made on `development` and frozen, tested,
patched (if required), and merged into the `staging` branch via PR.
- Once approved, the `staging` branch auto-deploys to the staging server.
- The purpose of this stage is to reguarly release versions of FMTM that
power users (and the project owner) can test.
- Anyone who doesn't mind occasional breakage is welcome to use this server publically.
- Hot fixes are also possible, if fixing some
functionality is critical for FMTM to function.

## Production Deployment

- The staging server instance is thoroughly tested
by the product owner, and bug reports filed.
- The release is hardened into longer interval (approx bi-monthly) production releases.
- A PR is made from `staging` to `main` branch.
- Once approved and the code merged, a Github **release** is made.
- A release is available on Github,
including all relevant release notes for what has been updated.
- The **release** will trigger the workflow to deploy to the production server.

## Other: Feature Demo Releases

- A feature demo release is a throwaway instance of FMTM with a particular purpose.
- Functionality is developed here for various reasons:
- Specific updates for a single project that won't be used elsewhere.
- Very fast updating of the server,
without interfering with the typical release flow.
- The key point is that these branch instances are **single use**
and will be **shut down** once the project has ended.
- The easiest approach is probably to:
- Create and login to a server.
- Run the bundled `feature-demo.sh` install script.
- Alternatively, a workflow can be made to auto-deploy:
- Triggering on a branch naming convention: `feature-demo/some-feature`.
- The user will have to enter an SSH key into the Gitlab secrets.
- The workflow will deploy to the server remotely
when the branch is pushed to.
- This approach is less preferred, as the user
requires write access to the Github repo,
but is under consideration.
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ nav:
- Backend: dev/Backend.md
- Frontend: dev/Frontend.md
- Production Deployment: dev/Production.md
- Deployment Flow: dev/Deployment-Flow.md
- Docker Tips: dev/Docker-Tips.md
- Database Tips: dev/Database-Tips.md
- Troubleshooting: dev/Troubleshooting.md
Expand Down
2 changes: 1 addition & 1 deletion src/backend/app/projects/project_crud.py
Original file line number Diff line number Diff line change
Expand Up @@ -2119,7 +2119,7 @@ async def update_project_form(
db.commit()

# OSM Extracts for whole project
pg = PostgresClient(settings.UNDERPASS_API_URL, "underpass")
pg = PostgresClient("underpass")
outfile = (
f"/tmp/{project_title}_{category}.geojson" # This file will store osm extracts
)
Expand Down
Loading

0 comments on commit d90d550

Please sign in to comment.